Overview | Package | Class | Use | Tree | Deprecated | Index | Help
|  | BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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 Class Summary

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`

Nested classes/interfaces inherited from class com.connecterra.util.event.AbstractEventProcessor
`AbstractEventProcessor.PeriodicEventHandle`

Field Summary

Fields inherited from class com.connecterra.ale.reader.AbstractPhysicalDevice
`m_channelManager`

Constructor Summary
`AbstractDispatchingPollingPhysicalDevice()`

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 class com.connecterra.util.event.AbstractEventProcessor
`doASAP, doASAPOrBlock, doASAPOrDrop, doASAPOrThrow, doLater, doPeriodic, getEventReceiver`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

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`

Methods inherited from interface com.connecterra.ale.reader.ChannelManager.Proxy
`initialize, listenerExecute`

Methods inherited from interface com.connecterra.util.event.EventProcessor
`handleEvent`

Constructor Detail

### AbstractDispatchingPollingPhysicalDevice

    public AbstractDispatchingPollingPhysicalDevice()

Method Detail

### 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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Documentation is available at ${DOCSWEBROOT} Copyright 2007 BEA Systems Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD