Package nl.basjes.modbus.device.api
Class ModbusBlock
-
- All Implemented Interfaces:
public class ModbusBlock<BLOCK extends ModbusBlock<BLOCK, VALUE, TYPE>, VALUE extends ModbusValue<VALUE, TYPE>, TYPE extends Object>The collection of all requested Registers that are in the same address space of a single specific device. The map from address to register in a SORTED way. This means we can iterate over the keys sequentially (yet there can be Address gaps!).
-
-
Field Summary
Fields Modifier and Type Field Description private final AddressfirstAddressprivate final Set<Address>keysprivate final Collection<VALUE>valuesprivate final Integersizeprivate final AddressClassaddressClass
-
Method Summary
Modifier and Type Method Description final AddressgetFirstAddress()final Set<Address>getKeys()final Collection<VALUE>getValues()final IntegergetSize()final AddressClassgetAddressClass()The AddressClass of ALL addresses in this RegisterBlock final Unitclear()final VALUEget(Address address)final List<VALUE>get(List<Address> addresses)Get the values for the provided addresses. final Unitset(Address address, VALUE modbusValue)final VALUEgetOrCreateIfAbsent(Address requiredRegister)final Unitput(VALUE value)final VALUEput(Address key, VALUE value)final UnitsetValue(Address address)Set a not-yet-loaded register value IFF absent final UnitsetValue(Address address, TYPE value, Long timestamp)final UnitsetReadError(Address address)Mark the provided address as a soft read error final Unitmerge(BLOCK modbusBlock)final TYPEgetValue(Address address)final List<VALUE>noGapsValuesList()final StringtoMultiLineString()abstract StringasString()final StringasString(Boolean multiLine)Booleanequals(Object other)final BLOCKclone()IntegerhashCode()-
-
Method Detail
-
getFirstAddress
final Address getFirstAddress()
-
getValues
final Collection<VALUE> getValues()
-
getAddressClass
final AddressClass getAddressClass()
The AddressClass of ALL addresses in this RegisterBlock
-
get
final List<VALUE> get(List<Address> addresses)
Get the values for the provided addresses.
- Parameters:
addresses- The register addresses we need the values for.- Returns:
The list of values which may be empty!
-
getOrCreateIfAbsent
final VALUE getOrCreateIfAbsent(Address requiredRegister)
-
setValue
final Unit setValue(Address address)
Set a not-yet-loaded register value IFF absent
- Parameters:
address- The address of the new value
-
setReadError
final Unit setReadError(Address address)
Mark the provided address as a soft read error
-
noGapsValuesList
final List<VALUE> noGapsValuesList()
-
toMultiLineString
final String toMultiLineString()
-
-
-
-