com.connecterra.ale.reader
Class AbstractDispatchingPollingPhysicalDevice
java.lang.Object
com.connecterra.util.event.AbstractEventProcessor
com.connecterra.ale.reader.AbstractPhysicalDevice
com.connecterra.ale.reader.AbstractPollingPhysicalDevice
com.connecterra.ale.reader.AbstractDispatchingPollingPhysicalDevice
- All Implemented Interfaces:
- com.bea.rfid.edge.api.telemetry.Telemetered, ChannelManager.Proxy, PhysicalDevice, Controllable, EventProcessor, com.connecterra.util.plugin.Plugin
- Direct Known Subclasses:
- AbstractPrinterPhysicalReader
public abstract class AbstractDispatchingPollingPhysicalDevice
- extends AbstractPollingPhysicalDevice
Adds to AbstractPhysicalDevice support for sequenced polling for
inventorying and automatic calls to AbstractPhysicalDevice.TagProcessor
methods for each method
returned from the inventory method. This is a good starting point
for a driver that requires periodically querying a device.
Implementations which extend this class must implement or override
the AbstractDispatchingPollingPhysicalDevice.inventoryTagsInField(java.util.Set)
and AbstractPhysicalDevice.sendStatusRequest()
methods. The implementation must also provide a public
static PluginMeta
getPluginMeta()
method.
Nested classes/interfaces inherited from class com.connecterra.ale.reader.AbstractPhysicalDevice |
AbstractPhysicalDevice.AFIReadingTagProcessor, AbstractPhysicalDevice.BankReadTagProcessor, AbstractPhysicalDevice.BankTagProcessor, AbstractPhysicalDevice.BankWriteTagProcessor, AbstractPhysicalDevice.EPCglobalClass1Gen2TagProcessor, AbstractPhysicalDevice.EPCglobalTagProcessor, AbstractPhysicalDevice.EPCglobalTagReadProcessor, AbstractPhysicalDevice.EPCglobalTagWriteProcessor, AbstractPhysicalDevice.EPCTagData, AbstractPhysicalDevice.Requests, AbstractPhysicalDevice.TagData, AbstractPhysicalDevice.TagProcessor, AbstractPhysicalDevice.TagResultException |
Method Summary |
protected abstract Set |
inventoryTagsInField(Set deviceUnits)
Inventory all the tags for the device units specified. |
Methods inherited from class com.connecterra.ale.reader.AbstractPhysicalDevice |
addAFIParametersToPluginMeta, addDeviceChannel, addDeviceUnit, addForceAFIParameterToPluginMeta, addReadAFIParameterToPluginMeta, addReaderThread, addTagData, addToPluginMeta, getChannelState, getDeviceUnit, getForcedAFIValue, getLogger, getLogicalReaderSet, getPhysicalDeviceName, initialize, initializeSession, initializeSession, isForceAFI, isReadAFI, processOpSpecs, removeReaderThread, report, sendStatusRequest, setDeviceAttributes, shutdown, terminate, toString, updateRequests, waitForShutdown, waitForTermination |
Methods inherited from interface com.connecterra.util.plugin.Plugin |
initialize |
Methods inherited from interface com.bea.rfid.edge.api.telemetry.Telemetered |
getDeviceAttributes, getDeviceType, getTelemetryAssociatedIdentity, telemeter |
AbstractDispatchingPollingPhysicalDevice
public AbstractDispatchingPollingPhysicalDevice()
inventoryTagsInField
protected abstract Set inventoryTagsInField(Set deviceUnits)
throws IOException,
AbstractPhysicalDevice.TagResultException
- Inventory all the tags for the device units specified. The
returned Set of TagData objects must include one element for
each tag seen by each device unit. If a tag is seen by
multiple device units, it must be in the returned Set once for
each device unit.
In order to perform all the necessary work on the tags
returned, the framework will take each AbstractPhysicalDevice.TagData
object returned here, and
invoke its AbstractPhysicalDevice.TagProcessor
methods
one at a time for each DeviceUnitRequest which applies to this
inventory. It will then report the results of this inventory
round as a complete cycle.
- Parameters:
deviceUnits
- Set of PollingDeviceUnit objects which
describe where to inventory
- Returns:
- the Set of TagData objects which were seen by this
inventory round.
- Throws:
IOException
AbstractPhysicalDevice.TagResultException