2010-01-26 1.2.0

org.eclipse.soda.dk.rfid.write.profile
Class RfidWriteProfile

java.lang.Object
  extended by Profile
      extended by org.eclipse.soda.dk.rfid.write.profile.RfidWriteProfile
All Implemented Interfaces:
RfidWriteProfileService
Direct Known Subclasses:
RfidWriteProfileTester

public abstract class RfidWriteProfile
extends Profile
implements RfidWriteProfileService

The RFID Write Profile defined the common method of perform write operation against Radio Frequency Identification (RFID) tags across different RFID readers. We have tried to model some of this profile based the Low Level Reader Protocol (LLRP) write functions. The first set of controls define how the RFID Write Profile will report the tag write information. The next set of controls define how the Write Operations will be performed and how these Write Operations will be triggered. <p> NOTE: This is a very early definition of this profile and will change as we get important feedback from application providers and hardware vendors. </p> <p>RFID Write Profile Questions/Issues </p> <ul> <li>Currently, LLRP does not support auto increment of the Tag ID's being written. This profile currently does not support auto increment. Is this the correct decision for this profile? </li> <li>What other operations (like Kill Tag, Erase Tag) should be supported? </li> <li>What is the best way to handle passwords? </li> <li>Can this profile be made simpler? Can any of these controls be deleted? </li> </ul> . The RfidWriteProfile class implements the RfidWriteProfileService and provides the controls for the profile.

The list of exported services:

Since:
1.2
Version:
1.2.0
See Also:
RfidWriteProfileService, See the following specification(s) for more details:

Title: EPCglobal Low Level Reader Protocol (LLRP)
URL: http://www.epcglobalinc.org/standards/llrp
Version: 1.0.1
Date: August 13, 2007
Vendor: EPCglobal
Comment: Ratified

Title: EPCglobal Application Level Events (ALE) Specification
URL: http://www.epcglobalinc.org/standards/ale/
Version: 1.1
Date: February 27, 2008
Vendor: EPCglobal
Comment: Ratified

Title: EPCglobal Low Level Reader Protocol (LLRP)
URL: http://www.epcglobalinc.org/standards/llrp
Version: 1.0.1
Date: August 13, 2007
Vendor: EPCglobal
Comment: Ratified

Title: EPCglobal Application Level Events (ALE) Specification
URL: http://www.epcglobalinc.org/standards/ale/
Version: 1.1
Date: February 27, 2008
Vendor: EPCglobal
Comment: Ratified

Field Summary
protected  InterestMasks aggregationInterest
          Define the aggregation interest (InterestMasks) field.
protected  MethodMeasurement antennaConfiguration
          The "AntennaConfiguration" is the map containing the antenna configuration.
static java.lang.String CLASS_NAME
          Defines the full class name.
static java.lang.String CONTROL_PROFILE_PREFIX
          Define the control profile prefix configuration key.
protected  java.lang.String controlProfileServiceBitsExternalKey
          Define control profile service bits external key.
protected  java.lang.String controlProfileServiceBitsGetExternalKey
          Define control profile service bits get external key.
protected  java.lang.String controlProfileServiceLongsExternalKey
          Define control profile service longs external key.
protected  java.lang.String controlProfileServiceLongsGetExternalKey
          Define control profile service longs get external key.
protected  MethodMeasurement dataExtensions
          The DataExtensions measurement is a map of metadata to be associated with tag data.
protected  MethodMeasurement dataWriteExtensions
          The "DataWriteExtensions" measurement is a map of meta data to be associated with tag data.
static java.lang.String GPIO_PROFILE_PREFIX
          Define the GPIO profile prefix configuration key.
protected  java.lang.String gpioProfileServiceAnalogInputExternalKey
          Define GPIO profile service analog input external key.
protected  java.lang.String gpioProfileServiceAnalogInputGetExternalKey
          Define GPIO profile service analog input get external key.
protected  java.lang.String gpioProfileServiceInputExternalKey
          Define GPIO profile service input external key.
protected  java.lang.String gpioProfileServiceInputGetExternalKey
          Define GPIO profile service input get external key.
protected  MethodMeasurement tagAggregationWriteMaskSetting
          The "TagAggregationWriteMaskSetting" specifies the definition of tags that should be published on the TagWriteAggregationReport signal.
protected  InterestMasks tagInterest
          Define the tag interest (InterestMasks) field.
protected  MethodMeasurement tagWriteAggregating
          The "TagWriteAggregating" measurement specifies the state of aggregating behavior.
protected  MethodMeasurement tagWriteAggregatingExpression
          The "TagWriteAggregatingExpression" is an Lightweight Directory Access Protocol (LDAP) expression to trigger the behavior of aggregating based on input pin and control values.
protected  Signal tagWriteAggregationReport
          The "TagWriteAggregationReport" is a signal containing a collection of tag write information in a map structure.
protected  MethodMeasurement tagWriteAntennaReporting
          The "TagWriteAntennaReporting" measurement specifies the state of tag antenna reporting.
protected  MethodMeasurement tagWriteMaskSetting
          The "TagWriteMaskSetting" specifies the definition of tags that should be published on the TagWriteReport signal.
protected  Signal tagWriteReport
          The "TagWriteReport" is a signal containing tag write information in a map structure.
protected  MethodMeasurement writeOperations
          The "WriteOperations" specifies the definition of write operations block against the tag(s).
protected  MethodCommand writeOperationsExecuteRequest
          The "WriteOperationsExecuteRequest" command requests that that tag write operations be executed.
protected  MethodMeasurement writeOperationsExecuteStatus
          The "WriteOperationsExecuteStatus" specifies if the current WriteOperations are being executed.
protected  MethodMeasurement writeOperationsExpression
          The "WriteOperationsExpression" is an LDAP expression to trigger the state of tag writing based on input pin and control values.
protected  MethodCommand writeOperationsStopRequest
          The "WriteOperationsStopRequest" command requests that that tag write operations be stopped.
 
Fields inherited from interface org.eclipse.soda.dk.rfid.write.profile.service.RfidWriteProfileService
ALL_COMMANDS, ALL_MEASUREMENTS, ALL_SIGNALS, ANTENNA_CONFIGURATION_ERROR_EXTERNAL_KEY, ANTENNA_CONFIGURATION_EXTERNAL_KEY, ANTENNA_CONFIGURATION_GET_EXTERNAL_KEY, ANTENNA_CONFIGURATION_KEY, ANTENNA_CONFIGURATION_READ_EXTERNAL_KEY, ANTENNA_CONFIGURATION_WRITE_EXTERNAL_KEY, ANTENNA_DATA_KEY, ANTENNA1_DATA_KEY, ANTENNA2_DATA_KEY, ANTENNA3_DATA_KEY, ANTENNA4_DATA_KEY, AntennaConfiguration, BLOCKERASE, BLOCKWRITE, Capabilities, CAPABILITIES_ERROR_EXTERNAL_KEY, CAPABILITIES_EXTERNAL_KEY, CAPABILITIES_GET_EXTERNAL_KEY, CLEAN_FILTER, Configuration, CONFIGURATION_ERROR_EXTERNAL_KEY, CONFIGURATION_EXTERNAL_KEY, CONFIGURATION_GET_EXTERNAL_KEY, COUNT_DATA_KEY, DATA_EXTENSIONS_DATA_KEY, DATA_WRITE_EXTENSIONS_ERROR_EXTERNAL_KEY, DATA_WRITE_EXTENSIONS_EXTERNAL_KEY, DATA_WRITE_EXTENSIONS_GET_EXTERNAL_KEY, DATA_WRITE_EXTENSIONS_READ_EXTERNAL_KEY, DATA_WRITE_EXTENSIONS_WRITE_EXTERNAL_KEY, DataWriteExtensions, EXECUTE_ON_OPERATION_CHANGE, EXECUTE_ON_OPERATION_CHANGE_DEFAULT, EXECUTE_ON_OPERATION_CHANGE_PROPERTY, FILTER, INCREMENT_WRITE, KILL, LOCK, Metrics, METRICS_ERROR_EXTERNAL_KEY, METRICS_EXTERNAL_KEY, METRICS_GET_EXTERNAL_KEY, OP_PARAMETER_SEPERATOR, OPERATION_SEPERATOR, PEAK_RSSI_DATA_KEY, READ, READ_DATA_DATA_KEY, READDATA_KEY, READER_DATA_KEY, RESULT_CODE_DATA_KEY, RESULT_CODE_KEY, RfidWriteProfile, SERVICE_DESCRIPTION, SERVICE_NAME, Status, STATUS_ERROR_EXTERNAL_KEY, STATUS_EXTERNAL_KEY, STATUS_GET_EXTERNAL_KEY, STOP, TAG_AGGREGATION_WRITE_MASK_SETTING_ERROR_EXTERNAL_KEY, TAG_AGGREGATION_WRITE_MASK_SETTING_EXTERNAL_KEY, TAG_AGGREGATION_WRITE_MASK_SETTING_GET_EXTERNAL_KEY, TAG_AGGREGATION_WRITE_MASK_SETTING_KEY, TAG_AGGREGATION_WRITE_MASK_SETTING_READ_EXTERNAL_KEY, TAG_AGGREGATION_WRITE_MASK_SETTING_WRITE_EXTERNAL_KEY, TAG_WRITE_AGGREGATING_ERROR_EXTERNAL_KEY, TAG_WRITE_AGGREGATING_EXPRESSION_ERROR_EXTERNAL_KEY, TAG_WRITE_AGGREGATING_EXPRESSION_EXTERNAL_KEY, TAG_WRITE_AGGREGATING_EXPRESSION_GET_EXTERNAL_KEY, TAG_WRITE_AGGREGATING_EXPRESSION_KEY, TAG_WRITE_AGGREGATING_EXPRESSION_READ_EXTERNAL_KEY, TAG_WRITE_AGGREGATING_EXPRESSION_WRITE_EXTERNAL_KEY, TAG_WRITE_AGGREGATING_EXTERNAL_KEY, TAG_WRITE_AGGREGATING_GET_EXTERNAL_KEY, TAG_WRITE_AGGREGATING_READ_EXTERNAL_KEY, TAG_WRITE_AGGREGATING_WRITE_EXTERNAL_KEY, TAG_WRITE_AGGREGATION_REPORT_ERROR_EXTERNAL_KEY, TAG_WRITE_AGGREGATION_REPORT_EXTERNAL_KEY, TAG_WRITE_AGGREGATION_REPORT_TRIGGER_EXTERNAL_KEY, TAG_WRITE_ANTENNA_REPORTING_ERROR_EXTERNAL_KEY, TAG_WRITE_ANTENNA_REPORTING_EXTERNAL_KEY, TAG_WRITE_ANTENNA_REPORTING_GET_EXTERNAL_KEY, TAG_WRITE_ANTENNA_REPORTING_READ_EXTERNAL_KEY, TAG_WRITE_ANTENNA_REPORTING_WRITE_EXTERNAL_KEY, TAG_WRITE_MASK_SETTING_ERROR_EXTERNAL_KEY, TAG_WRITE_MASK_SETTING_EXTERNAL_KEY, TAG_WRITE_MASK_SETTING_GET_EXTERNAL_KEY, TAG_WRITE_MASK_SETTING_KEY, TAG_WRITE_MASK_SETTING_READ_EXTERNAL_KEY, TAG_WRITE_MASK_SETTING_WRITE_EXTERNAL_KEY, TAG_WRITE_REPORT_ERROR_EXTERNAL_KEY, TAG_WRITE_REPORT_EXTERNAL_KEY, TAG_WRITE_REPORT_TRIGGER_EXTERNAL_KEY, TagAggregationWriteMaskSetting, TAGS_DATA_KEY, TagWriteAggregating, TagWriteAggregatingExpression, TagWriteAggregationReport, TagWriteAntennaReporting, TagWriteMaskSetting, TagWriteReport, TagWriting, TAGWRITING_EXTERNAL_KEY, TAGWRITING_GET_EXTERNAL_KEY, TagWritingExpression, TAGWRITINGEXPRESSION_EXTERNAL_KEY, TAGWRITINGEXPRESSION_GET_EXTERNAL_KEY, TAGWRITINGEXPRESSION_KEY, TIMESTAMP_FIRST_DATA_KEY, TIMESTAMP_LAST_DATA_KEY, WRITE, WRITE_OPERATIONS_ERROR_EXTERNAL_KEY, WRITE_OPERATIONS_EXECUTE_REQUEST_ERROR_EXTERNAL_KEY, WRITE_OPERATIONS_EXECUTE_REQUEST_EXTERNAL_KEY, WRITE_OPERATIONS_EXECUTE_STATUS_ERROR_EXTERNAL_KEY, WRITE_OPERATIONS_EXECUTE_STATUS_EXTERNAL_KEY, WRITE_OPERATIONS_EXECUTE_STATUS_GET_EXTERNAL_KEY, WRITE_OPERATIONS_EXECUTE_STATUS_READ_EXTERNAL_KEY, WRITE_OPERATIONS_EXPRESSION_ERROR_EXTERNAL_KEY, WRITE_OPERATIONS_EXPRESSION_EXTERNAL_KEY, WRITE_OPERATIONS_EXPRESSION_GET_EXTERNAL_KEY, WRITE_OPERATIONS_EXPRESSION_KEY, WRITE_OPERATIONS_EXPRESSION_READ_EXTERNAL_KEY, WRITE_OPERATIONS_EXPRESSION_WRITE_EXTERNAL_KEY, WRITE_OPERATIONS_EXTERNAL_KEY, WRITE_OPERATIONS_GET_EXTERNAL_KEY, WRITE_OPERATIONS_KEY, WRITE_OPERATIONS_READ_EXTERNAL_KEY, WRITE_OPERATIONS_STOP_REQUEST_ERROR_EXTERNAL_KEY, WRITE_OPERATIONS_STOP_REQUEST_EXTERNAL_KEY, WRITE_OPERATIONS_WRITE_EXTERNAL_KEY, WriteOperations, WriteOperationsExecuteRequest, WRITEOPERATIONSEXECUTEREQUEST_EXECUTE_EXTERNAL_KEY, WriteOperationsExecuteStatus, WriteOperationsExpression, WriteOperationsStopRequest, WRITEOPERATIONSSTOPREQUEST_EXECUTE_EXTERNAL_KEY
 
Constructor Summary
RfidWriteProfile()
          Constructs a new instance of the RfidWriteProfile class.
 
Method Summary
 void activate()
          Activate.
protected  void addTagToCache(java.lang.String key, java.util.Map reads, java.util.Map cache)
          Add tag to cache with the specified key, reads and cache parameters.
protected  void applyDataExtensions(java.util.Map rfidData)
          Apply data extensions with the specified RFID data parameter.
protected  java.util.Map buildOuterTagMessage(java.util.Map tags)
          Build outer tag message with the specified tags parameter and return the Map result.
protected  java.util.Map buildTagMessage(java.lang.String key, java.util.Map reads)
          Build tag message with the specified key and reads parameters and return the Map result.
protected  void consumeRequests()
          Consume requests.
protected  Filter createLdapFilter(java.lang.String filterString)
          Create ldap filter with the specified filter string parameter and return the Filter result.
 void deactivate()
          Deactivate.
protected abstract  void endOperations()
          End operations.
protected  void evaluateTagAggregatingLdapFilter()
          Evaluate tag aggregating ldap filter.
protected  void evaluateWriteOperationLdapFilter()
          Evaluate write operation ldap filter.
protected abstract  boolean executeBlockErase(java.lang.String[] op_parameters)
          Execute block erase with the specified opparameters parameter and return the boolean result.
protected abstract  boolean executeBlockWrite(java.lang.String[] op_parameters)
          Execute block write with the specified opparameters parameter and return the boolean result.
protected abstract  boolean executeFilter(java.lang.String[] op_parameters)
          Execute filter with the specified opparameters parameter and return the boolean result.
protected abstract  boolean executeIncrementWrite(java.lang.String[] op_parameters)
          Execute increment write with the specified opparameters parameter and return the boolean result.
protected abstract  boolean executeKill(java.lang.String[] op_parameters)
          Execute kill with the specified opparameters parameter and return the boolean result.
protected abstract  boolean executeLock(java.lang.String[] op_parameters)
          Execute lock with the specified opparameters parameter and return the boolean result.
protected abstract  boolean executeRead(java.lang.String[] op_parameters)
          Execute read with the specified opparameters parameter and return the boolean result.
protected abstract  void executeStop()
          Evaluate tag reading ldap filter.
protected abstract  boolean executeWrite(java.lang.String[] op_parameters)
          Execute write with the specified opparameters parameter and return the void result.
protected  void executeWriteOperations()
          Execute write operations.
 void flushAggregatorCache()
          Flush aggregator cache.
 void flushTagCache()
          Flush tag cache.
 MeasurementService getAntennaConfiguration()
          The "AntennaConfiguration" is the map containing the antenna configuration.
 int getControlCapacity()
          Gets the control capacity (int) value.
 java.lang.String getControlProfilePrefix()
          Get the control profile prefix value.
 MeasurementService getDataWriteExtensions()
          The "DataWriteExtensions" measurement is a map of meta data to be associated with tag data.
 DeviceService getDefaultDevice()
          Gets the default device (DeviceService) value.
 java.lang.String getDefaultKey()
          Gets the default key (String) value.
 boolean getExecuteOnOperationChange()
          executeOnOperationChange is a configuration parameter to specify whether to execute once when the writeOperations string is set or changed.
 java.lang.String getGpioProfilePrefix()
          Get the GPIO profile prefix value.
 int getMessageCapacity()
          Gets the message capacity (int) value.
 java.lang.String getReaderId()
          Gets the reader ID (String) value.
 MeasurementService getTagAggregationWriteMaskSetting()
          The "TagAggregationWriteMaskSetting" specifies the definition of tags that should be published on the TagWriteAggregationReport signal.
 MeasurementService getTagWriteAggregating()
          The "TagWriteAggregating" measurement specifies the state of aggregating behavior.
 MeasurementService getTagWriteAggregatingExpression()
          The "TagWriteAggregatingExpression" is an Lightweight Directory Access Protocol (LDAP) expression to trigger the behavior of aggregating based on input pin and control values.
 SignalService getTagWriteAggregationReport()
          The "TagWriteAggregationReport" is a signal containing a collection of tag write information in a map structure.
 MeasurementService getTagWriteAntennaReporting()
          The "TagWriteAntennaReporting" measurement specifies the state of tag antenna reporting.
 MeasurementService getTagWriteMaskSetting()
          The "TagWriteMaskSetting" specifies the definition of tags that should be published on the TagWriteReport signal.
 SignalService getTagWriteReport()
          The "TagWriteReport" is a signal containing tag write information in a map structure.
 MeasurementService getWriteOperations()
          The "WriteOperations" specifies the definition of write operations block against the tag(s).
 CommandService getWriteOperationsExecuteRequest()
          The "WriteOperationsExecuteRequest" command requests that that tag write operations be executed.
 MeasurementService getWriteOperationsExecuteStatus()
          The "WriteOperationsExecuteStatus" specifies if the current WriteOperations are being executed.
 MeasurementService getWriteOperationsExpression()
          The "WriteOperationsExpression" is an LDAP expression to trigger the state of tag writing based on input pin and control values.
 CommandService getWriteOperationsStopRequest()
          The "WriteOperationsStopRequest" command requests that that tag write operations be stopped.
protected  void handleControlProfileServiceBits(java.lang.String externalKey, java.util.Dictionary data)
          Handle control profile service bits with the specified external key and data parameters.
protected  void handleControlProfileServiceLongs(java.lang.String externalKey, java.util.Dictionary data)
          Handle control profile service longs with the specified external key and data parameters.
protected  boolean handleGetWriteOperationsExecuteStatus()
          Handle get write operations execute status and return the boolean result.
protected  void handleGpioProfileServiceAnalogInput(java.lang.String externalKey, java.util.Dictionary data)
          Handle gpio profile service analog input with the specified external key and data parameters.
protected  void handleGpioProfileServiceInput(java.lang.String externalKey, java.util.Dictionary data)
          Handle GPIO profile service input with the specified external key and data parameters.
 java.lang.Object handleMethodAntennaConfiguration(int code, Measurement measurement, java.lang.Object data)
          Handle method antenna configuration with the specified code, measurement and data parameters and return the Object result.
 java.lang.Object handleMethodDataWriteExtensions(int code, Measurement measurement, java.lang.Object data)
          Handle method data write extensions with the specified code, measurement and data parameters and return the Object result.
 java.lang.Object handleMethodTagAggregationWriteMaskSetting(int code, Measurement measurement, java.lang.Object data)
          Handle method tag aggregation write mask setting with the specified code, measurement and data parameters and return the Object result.
 java.lang.Object handleMethodTagWriteAggregating(int code, Measurement measurement, java.lang.Object data)
          Handle method tag write aggregating with the specified code, measurement and data parameters and return the Object result.
 java.lang.Object handleMethodTagWriteAggregatingExpression(int code, Measurement measurement, java.lang.Object data)
          Handle method tag write aggregating expression with the specified code, measurement and data parameters and return the Object result.
 java.lang.Object handleMethodTagWriteAntennaReporting(int code, Measurement measurement, java.lang.Object data)
          Handle method tag write antenna reporting with the specified code, measurement and data parameters and return the Object result.
 java.lang.Object handleMethodTagWriteMaskSetting(int code, Measurement measurement, java.lang.Object data)
          Handle method tag write mask setting with the specified code, measurement and data parameters and return the Object result.
 java.lang.Object handleMethodWriteOperations(int code, Measurement measurement, java.lang.Object data)
          Handle method write operations with the specified code, measurement and data parameters and return the Object result.
 java.lang.Object handleMethodWriteOperationsExecuteRequest(int code, Command command, java.lang.Object data)
          Handle method write operations execute request with the specified code, command and data parameters and return the Object result.
 java.lang.Object handleMethodWriteOperationsExecuteStatus(int code, Measurement measurement, java.lang.Object data)
          Handle method write operations execute status with the specified code, measurement and data parameters and return the Object result.
 java.lang.Object handleMethodWriteOperationsExpression(int code, Measurement measurement, java.lang.Object data)
          Handle method write operations expression with the specified code, measurement and data parameters and return the Object result.
 java.lang.Object handleMethodWriteOperationsStopRequest(int code, Command command, java.lang.Object data)
          Handle method write operations stop request with the specified code, command and data parameters and return the Object result.
protected  java.lang.Object handleSetAntennaConfiguration(Measurement measurement, java.lang.Object data)
          Handle set antenna configuration with the specified measurement and data parameters and return the Object result.
protected  void handleSetTagAggregationWriteMaskSetting(Measurement measurement, java.lang.Object data)
          Handle set tag aggregation write mask setting with the specified measurement and data parameters.
protected  void handleSetTagWriteAggregatingExpression(Measurement measurement, java.lang.Object data)
          Handle set tag aggregating expression with the specified measurement and data parameters.
protected  void handleSetTagWriteMaskSetting(Measurement measurement, java.lang.Object data)
          Handle set tag write mask setting with the specified measurement and data parameters.
protected  void handleSetWriteOperationExpression(Measurement measurement, java.lang.Object data)
          Handle set write operation expression with the specified measurement and data parameters.
protected  java.lang.Object handleSetWriteOperations(Measurement measurement, java.lang.Object data)
          Handle set write operations with the specified measurement and data parameters and return the Object result.
protected  void handleSetWriteOperationsExecuteStatus(java.lang.Boolean status)
          Handle set write operations execute status with the specified status parameter.
protected  void handleTagWriteAggregating(MeasurementService source, java.lang.Object timestamp, java.lang.Object newValue, java.lang.Object oldValue)
          Handle tag write aggregating with the specified source, time stamp, new value and old value parameters.
protected  void handleWriteOperationsError(java.lang.String errorMsg)
          Handle write operations error with the specified error msg parameter.
protected  void handleWriteOperationsStopRequest()
          Handle write operations stop request.
protected  void improveReportMap(java.util.Map reads, java.lang.Object timestamp)
          Improve reads map with the specified reads and timestamp parameters.
 boolean isDeviceNeeded()
          Is device needed.
protected  boolean isOperationsRunning()
          Gets the operations running (boolean) value.
 boolean isTagWriteAntennaReporting()
          Gets the tag write antenna reporting (boolean) value.
static boolean isValidTagId(java.lang.String tagId)
          Is valid tag id with the specified tag id parameter and return the boolean result.
 void measurementChanged(MeasurementService source, java.lang.Object timestamp, java.lang.Object newValue, java.lang.Object oldValue)
          Measurement changed.
 void mergeAntennaInfo(java.util.Map cacheReadData, java.util.Map reads)
          Merge antenna info with the specified cache read data and reads parameters.
protected  java.util.Map mergeMapOverMap(java.util.Map additionalValues, java.util.Map existingValues)
          Merge map over map with the specified additional values and existing values parameters and return the Map result.
 void notificationReceived(java.lang.String externalKey, java.util.Dictionary data)
          Notification received.
 void notifyTagAggregation()
          Notify tag aggregation.
 void notifyTagReport(java.lang.String key, java.lang.String operationId, java.util.Map reads)
          Notify tag report with the specified key, operation id and reads parameters.
 void notifyTagReport(java.lang.String key, java.lang.String operationId, java.util.Map reads, java.lang.Object timestamp)
          Notify tag report with the specified key, operation id, reads and timestamp parameters.
protected  void operationsInterrupted(java.lang.String errorMsg)
          Operations interrupted with the specified error msg parameter.
static java.lang.String[] parseDelimitedByToken(java.lang.String target, java.lang.String delimiter)
          Parse delimited by token with the specified target and delimiter parameters and return the String[] result.
static byte[] parseHexSpaceDelimited(java.lang.String spaceDelimitedHex)
          Parse hex space delimited with the specified space delimited hex parameter and return the byte[] result.
static InterestMasks parseInterestMasks(java.lang.String targetTagConfig)
          Parse interest masks with the specified target tag configuration parameter and return the InterestMasks result.
 void setExecuteOnOperationChange(boolean executeOnOperationChange)
          executeOnOperationChange is a configuration parameter to specify whether to execute once when the writeOperations string is set or changed.
protected  void setOperationsStatusFinished()
          Operations finished.
protected  void setOperationsStatusStarted()
          Operations started.
protected  void setTagWriteAggregatingLdapFilter(Filter tagAggregatingLdapFilter)
          Sets the tag aggregating ldap filter value.
 void setup()
           
 void setupNotification()
          Setup notification.
protected  void setWriteOperationLdapFilter(Filter writeOperationLdapFilter)
          Sets the write operation ldap filter value.
protected abstract  boolean startOperations()
          Start operations.
static byte[] toBytes(java.lang.String string)
          To bytes with the specified string parameter and return the byte[] result.
protected  void updateTagInCache(java.lang.String key, java.lang.String operationId, java.util.Map reads, java.util.Map cache, java.lang.Object timestamp)
          Update tag in cache with the specified key, operation ID, reads, cache and time stamp parameters.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_NAME

public static final java.lang.String CLASS_NAME
Defines the full class name.

Since:
1.1
See Also:
Constant Field Values

CONTROL_PROFILE_PREFIX

public static final java.lang.String CONTROL_PROFILE_PREFIX
Define the control profile prefix configuration key.

Since:
1.1
See Also:
Constant Field Values

GPIO_PROFILE_PREFIX

public static final java.lang.String GPIO_PROFILE_PREFIX
Define the GPIO profile prefix configuration key.

Since:
1.1
See Also:
Constant Field Values

gpioProfileServiceInputExternalKey

protected java.lang.String gpioProfileServiceInputExternalKey
Define GPIO profile service input external key.

Since:
1.1

gpioProfileServiceInputGetExternalKey

protected java.lang.String gpioProfileServiceInputGetExternalKey
Define GPIO profile service input get external key.

Since:
1.1

gpioProfileServiceAnalogInputExternalKey

protected java.lang.String gpioProfileServiceAnalogInputExternalKey
Define GPIO profile service analog input external key.

Since:
1.1

gpioProfileServiceAnalogInputGetExternalKey

protected java.lang.String gpioProfileServiceAnalogInputGetExternalKey
Define GPIO profile service analog input get external key.

Since:
1.1

controlProfileServiceBitsExternalKey

protected java.lang.String controlProfileServiceBitsExternalKey
Define control profile service bits external key.

Since:
1.1

controlProfileServiceBitsGetExternalKey

protected java.lang.String controlProfileServiceBitsGetExternalKey
Define control profile service bits get external key.

Since:
1.1

controlProfileServiceLongsExternalKey

protected java.lang.String controlProfileServiceLongsExternalKey
Define control profile service longs external key.

Since:
1.1

controlProfileServiceLongsGetExternalKey

protected java.lang.String controlProfileServiceLongsGetExternalKey
Define control profile service longs get external key.

Since:
1.1

writeOperationsExecuteRequest

protected final MethodCommand writeOperationsExecuteRequest
The "WriteOperationsExecuteRequest" command requests that that tag write operations be executed. If an LDAP expression is specified for the WriteOperationsExpression, a publication to write a value to this command will result in an exception and will not execute the tag write operations.

Since:
1.1

writeOperationsStopRequest

protected final MethodCommand writeOperationsStopRequest
The "WriteOperationsStopRequest" command requests that that tag write operations be stopped. If an LDAP expression is specified for the WriteOperationsExpression, a publication to write a value to this command will result in an exception and will not stop the tag write operations.

Since:
1.1

antennaConfiguration

protected final MethodMeasurement antennaConfiguration
The "AntennaConfiguration" is the map containing the antenna configuration. The key is the antenna number based on a starting index of 1. The value is another map containing the information about that specific antenna.

Since:
1.1

dataWriteExtensions

protected final MethodMeasurement dataWriteExtensions
The "DataWriteExtensions" measurement is a map of meta data to be associated with tag data. Data Write extensions are applied to "TagWriteReport" data as the signal is published. Data extensions are applied to a "TagWriteAggregationReport" at the beginning and end of the aggregation cycle. Writing a value to this measurement merges the new map with the current DataWriteExtensions value. Setting the value of the measurement to an empty map clears the value.

Since:
1.1

tagWriteMaskSetting

protected final MethodMeasurement tagWriteMaskSetting
The "TagWriteMaskSetting" specifies the definition of tags that should be published on the TagWriteReport signal. A mask is specified by four comma-delimited parameters. The first parameter of a tag mask is a place holder for future use, and the value is ignored. The second parameter is the pointer value. It is the first bit location of the tag id against which to compare the mask. The third parameter is the length. It specifies the number of bits of the tag id to compare against the mask. The final parameter is the mask value specified as a hex string with each byte (two characters) separated by a blank. It is the pattern against which the specified section of the tag id must match to pass the filter. Multiple masks can be specified by separating them with a semicolon.

Since:
1.1

tagAggregationWriteMaskSetting

protected final MethodMeasurement tagAggregationWriteMaskSetting
The "TagAggregationWriteMaskSetting" specifies the definition of tags that should be published on the TagWriteAggregationReport signal. A mask is specified by four comma-delimited parameters. The first parameter of a tag mask is a place holder for future use, and the value is ignored. The second parameter is the pointer value. It is the first bit location of the tag id against which to compare the mask. The third parameter is the length. It specifies the number of bits of the tag id to compare against the mask. The final parameter is the mask value specified as a hex string with each byte (two characters) separated by a blank. It is the pattern against which the specified section of the tag id must match to pass the filter. Multiple masks can be specified by separating them with a semicolon.

Since:
1.1

tagWriteAggregatingExpression

protected final MethodMeasurement tagWriteAggregatingExpression
The "TagWriteAggregatingExpression" is an Lightweight Directory Access Protocol (LDAP) expression to trigger the behavior of aggregating based on input pin and control values.

Since:
1.1

tagWriteAggregating

protected final MethodMeasurement tagWriteAggregating
The "TagWriteAggregating" measurement specifies the state of aggregating behavior. When the measurement value is true, the profile is collecting all tags which pass the Aggregation Write Mask. When the measurement value is updated to false, the profile publishes the TagWriteAggregationReport signal, clears the aggregation cache, and stops collecting incoming tags. If an LDAP expression is specified for the TagWriteAggregatingExpression, a publication to write a value to this measurement will result in an exception and will not update the measurement value.

Since:
1.1

writeOperations

protected final MethodMeasurement writeOperations
The "WriteOperations" specifies the definition of write operations block against the tag(s). A write operation block can contain multiple write operations separated by the character ":". A write operation is specified by parameters based on the operation, the parameters are separated by the character ";". The first parameter specifies the kind of write operation. <ul > <li>Operation Filter: Defines the tag filter to apply on the rest of the operations. Format: Filter;MemoryBank;Match;BitPointer;TagMask;TagData <ol> <li> Filter: Reserved name for the filter operation. </li> <li> MemoryBank: An integer to specify the memory bank to be used for the filter. </li> <li> Match: A boolean to specify if "match" or "not match" is applied for the filter. </li> <li> BitPointer: It is the first bit location (zero based) of the data against which to compare the mask. </li> <li> TagMask: A hex String as the mask for the filter. </li> <li> TagData: The the pattern against which the specified section of the tag data must match (or not match) to pass the filter. </li> </ol> </li> <li>Operation Write: Defines the write operation on the specified memory bank on the tags. Format: Write;MemoryBank;Pointer;WriteData;Password;OpCount;Timeout[;OperationId] <ol> <li> Write: Reserved name for the write operation. </li> <li> MemoryBank: An interger to specify the memory bank to written on. </li> <li> Pointer: The first location (zero based) in the memory bank to start the write operation. </li> <li> WriteData: The data for the write operation. </li> <li> Password: The password for the write operation. </li> <li> OpCount: An integer to specify the times this write operation will be executed, it will be unlimited if the value is 0. </li> <li> Timeout: The timeout value (milliseconds) for the write operation, no timeout if the value is 0. </li> <li> OperationId: The optional parameter to assign an id to the write operation. </li> </ol> </li> <li>Operation Increment Write: Defines an automatic incremental write on the specified memory bank on the tags. Format: Increment Write;MemoryBank;Pointer;WriteData;Increment;Password;Repeat;Timeout[;OperationId] <ol> <li> Increment Write: Reserved name for the increment write operation. </li> <li> MemoryBank: An interger to specify the memory bank to written on. </li> <li> Pointer: The first location (zero based) in the memory bank to start the write operation. </li> <li> WriteData: The base data for the write operation. </li> <li> Increment: An integer to specify the incremental value for each tag writing. </li> <li> Password: The password for the write operation. </li> <li> Repeat: An integer to specify the times the increment write operation will be executed, it will be unlimited if the value is 0. </li> <li> Timeout: The timeout value (milliseconds) for the increment write operation, no timeout if the value is 0. </li> <li> OperationId: The optional parameter to assign an id to the increment write operation. </li> </ol> </li> <li>Operation Read: Defines the read operation on the specified memory bank on the tags. Format: Read;MemoryBank;Pointer;WordCount;Password;OpCount;Timeout[;OperationId] <ol> <li> Read: Reserved name for the read operation. </li> <li> MemoryBank: An interger to specify the memory bank to read from. </li> <li> Pointer: The first location (zero based) in the memory bank to start the read operation. </li> <li> Password: The password for the read operation. </li> <li> OpCount: An integer to specify the times this read operation will be executed, it will be unlimited if the value is 0. </li> <li> Timeout: The timeout value (milliseconds) for the read operation, no timeout if the value is 0. </li> <li> OperationId: The optional parameter to assign an id to the read operation. </li> </ol> </li> </ul>

Since:
1.1

writeOperationsExpression

protected final MethodMeasurement writeOperationsExpression
The "WriteOperationsExpression" is an LDAP expression to trigger the state of tag writing based on input pin and control values. If the state of this expression changes to true, then the current WriteOperations will be executed once.

Since:
1.1

writeOperationsExecuteStatus

protected final MethodMeasurement writeOperationsExecuteStatus
The "WriteOperationsExecuteStatus" specifies if the current WriteOperations are being executed. If the status is true, sending a new WriteOperations or execute request will result in an exception.

Since:
1.1

tagWriteAntennaReporting

protected final MethodMeasurement tagWriteAntennaReporting
The "TagWriteAntennaReporting" measurement specifies the state of tag antenna reporting. When the measurement is true, the reader is reporting tag antenna information in tag data on the TagReport signal. When this tag antenna reporting is true, then extra process is required which may effect performance.

Since:
1.1

tagWriteReport

protected final Signal tagWriteReport
The "TagWriteReport" is a signal containing tag write information in a map structure. The report contains one to many tags stored at the "tags" key. It may include data extension meta data stored at the "dataExtensions" key. See the tags and DataWriteExtensions descriptions for details.

Since:
1.1

tagWriteAggregationReport

protected final Signal tagWriteAggregationReport
The "TagWriteAggregationReport" is a signal containing a collection of tag write information in a map structure. The report can contain zero to many tags stored at the "tags" key. It may include data extension meta data stored at the "DataWriteExtensions" key. See the tags and DataWriteExtensions descriptions for details.

Since:
1.1

tagInterest

protected InterestMasks tagInterest
Define the tag interest (InterestMasks) field.


aggregationInterest

protected InterestMasks aggregationInterest
Define the aggregation interest (InterestMasks) field.


dataExtensions

protected final MethodMeasurement dataExtensions
The DataExtensions measurement is a map of metadata to be associated with tag data. Data extensions are applied to TagReport data as the signal is published. Data extensions are applied to a TagAggregationReport at the beginning and end of the aggregation cycle. Writing a value to this measurement merges the new map with the current DataExtensions value. Setting the value of the measurement to an empty map clears the value. .

Constructor Detail

RfidWriteProfile

public RfidWriteProfile()
Constructs a new instance of the RfidWriteProfile class.

Since:
1.1
Method Detail

isValidTagId

public static boolean isValidTagId(java.lang.String tagId)
Is valid tag id with the specified tag id parameter and return the boolean result.

Parameters:
tagId - The tag ID (String) parameter.
Returns:
Results of the is valid tag id (boolean) value.

parseDelimitedByToken

public static java.lang.String[] parseDelimitedByToken(java.lang.String target,
                                                       java.lang.String delimiter)
Parse delimited by token with the specified target and delimiter parameters and return the String[] result.

Parameters:
target - The target (String) parameter.
delimiter - The delimiter (String) parameter.
Returns:
Results of the parse comma delimited (String[]) value. The target (String) parameter. The delimiter (String) parameter.

parseHexSpaceDelimited

public static byte[] parseHexSpaceDelimited(java.lang.String spaceDelimitedHex)
Parse hex space delimited with the specified space delimited hex parameter and return the byte[] result.

Parameters:
spaceDelimitedHex - The space delimited hex (String) parameter.
Returns:
Results of the parse hex space delimited (byte[]) value.

parseInterestMasks

public static InterestMasks parseInterestMasks(java.lang.String targetTagConfig)
Parse interest masks with the specified target tag configuration parameter and return the InterestMasks result.

Parameters:
targetTagConfig - The target tag configuration (String) parameter.
Returns:
Results of the parse interest masks (InterestMasks) value. The target tag config (String) parameter.

toBytes

public static byte[] toBytes(java.lang.String string)
                      throws java.lang.RuntimeException
To bytes with the specified string parameter and return the byte[] result.

Parameters:
string - The string (String) parameter.
Returns:
Results of the to bytes (byte[]) value. Runtime Exception.
Throws:
java.lang.RuntimeException - Runtime Exception.

activate

public void activate()
Activate.

Since:
1.2

addTagToCache

protected void addTagToCache(java.lang.String key,
                             java.util.Map reads,
                             java.util.Map cache)
Add tag to cache with the specified key, reads and cache parameters.

Parameters:
key - The key (String) parameter.
reads - The reads (Map) parameter.
cache - The cache (Map) parameter.

applyDataExtensions

protected void applyDataExtensions(java.util.Map rfidData)
Apply data extensions with the specified RFID data parameter.

Parameters:
rfidData - The RFID data (Map) parameter.

buildOuterTagMessage

protected java.util.Map buildOuterTagMessage(java.util.Map tags)
Build outer tag message with the specified tags parameter and return the Map result.

Parameters:
tags - The tags (Map) parameter.
Returns:
Results of the build outer tag message (Map) value.

buildTagMessage

protected java.util.Map buildTagMessage(java.lang.String key,
                                        java.util.Map reads)
Build tag message with the specified key and reads parameters and return the Map result.

Parameters:
key - The key (String) parameter.
reads - The reads (Map) parameter.
Returns:
Results of the build tag message (Map) value.
See Also:
buildOuterTagMessage(Map)

consumeRequests

protected void consumeRequests()
                        throws java.lang.InterruptedException
Consume requests.

Throws:
java.lang.InterruptedException - Interrupted Exception.
Since:
1.2

createLdapFilter

protected Filter createLdapFilter(java.lang.String filterString)
                           throws InvalidSyntaxException
Create ldap filter with the specified filter string parameter and return the Filter result.

Parameters:
filterString - The filter string (String) parameter.
Returns:
Results of the create ldap filter (Filter) value. Invalid Syntax Exception.
Throws:
InvalidSyntaxException - Invalid Syntax Exception.
See Also:
evaluateTagAggregatingLdapFilter(), evaluateWriteOperationLdapFilter(), setTagWriteAggregatingLdapFilter(Filter), setWriteOperationLdapFilter(Filter)

deactivate

public void deactivate()
Deactivate.

Since:
1.2

endOperations

protected abstract void endOperations()
End operations.

See Also:
executeWriteOperations(), getWriteOperations(), handleMethodWriteOperations(int,Measurement,Object), handleSetWriteOperations(Measurement,Object), startOperations()

evaluateTagAggregatingLdapFilter

protected void evaluateTagAggregatingLdapFilter()
Evaluate tag aggregating ldap filter.


evaluateWriteOperationLdapFilter

protected void evaluateWriteOperationLdapFilter()
Evaluate write operation ldap filter.

See Also:
setWriteOperationLdapFilter(Filter)

executeBlockErase

protected abstract boolean executeBlockErase(java.lang.String[] op_parameters)
Execute block erase with the specified opparameters parameter and return the boolean result.

Parameters:
op_parameters - The opparameters (String[]) parameter.
Returns:
Results of the execute block erase (boolean) value.

executeBlockWrite

protected abstract boolean executeBlockWrite(java.lang.String[] op_parameters)
Execute block write with the specified opparameters parameter and return the boolean result.

Parameters:
op_parameters - The opparameters (String[]) parameter.
Returns:
Results of the execute block write (boolean) value.

executeFilter

protected abstract boolean executeFilter(java.lang.String[] op_parameters)
Execute filter with the specified opparameters parameter and return the boolean result.

Parameters:
op_parameters - The opparameters (String[]) parameter.
Returns:
Results of the execute filter (boolean) value.
See Also:
createLdapFilter(String), evaluateTagAggregatingLdapFilter(), evaluateWriteOperationLdapFilter(), setTagWriteAggregatingLdapFilter(Filter), setWriteOperationLdapFilter(Filter)

executeIncrementWrite

protected abstract boolean executeIncrementWrite(java.lang.String[] op_parameters)
Execute increment write with the specified opparameters parameter and return the boolean result.

Parameters:
op_parameters - The opparameters (String[]) parameter.
Returns:
Results of the execute increment write (boolean) value.

executeKill

protected abstract boolean executeKill(java.lang.String[] op_parameters)
Execute kill with the specified opparameters parameter and return the boolean result.

Parameters:
op_parameters - The opparameters (String[]) parameter.
Returns:
Results of the execute kill (boolean) value.

executeLock

protected abstract boolean executeLock(java.lang.String[] op_parameters)
Execute lock with the specified opparameters parameter and return the boolean result.

Parameters:
op_parameters - The opparameters (String[]) parameter.
Returns:
Results of the execute lock (boolean) value.

executeRead

protected abstract boolean executeRead(java.lang.String[] op_parameters)
Execute read with the specified opparameters parameter and return the boolean result.

Parameters:
op_parameters - The opparameters (String[]) parameter.
Returns:
Results of the execute read (boolean) value.

executeStop

protected abstract void executeStop()
Evaluate tag reading ldap filter.


executeWrite

protected abstract boolean executeWrite(java.lang.String[] op_parameters)
Execute write with the specified opparameters parameter and return the void result.

Parameters:
op_parameters - The opparameters (String[]) parameter.
Returns:
Results of the execute write (boolean) value.
See Also:
executeBlockWrite(String[]), executeIncrementWrite(String[])

executeWriteOperations

protected void executeWriteOperations()
Execute write operations.

See Also:
getWriteOperations(), handleMethodWriteOperations(int,Measurement,Object), handleSetWriteOperations(Measurement,Object)

flushAggregatorCache

public void flushAggregatorCache()
Flush aggregator cache.


flushTagCache

public void flushTagCache()
Flush tag cache.


getAntennaConfiguration

public MeasurementService getAntennaConfiguration()
The "AntennaConfiguration" is the map containing the antenna configuration. The key is the antenna number based on a starting index of 1. The value is another map containing the information about that specific antenna.

Returns:
The antenna configuration value.
Since:
1.1
See Also:
handleMethodAntennaConfiguration(int,Measurement,Object), handleSetAntennaConfiguration(Measurement,Object)

getControlCapacity

public int getControlCapacity()
Gets the control capacity (int) value.

Returns:
The control capacity value.
Since:
1.1

getControlProfilePrefix

public java.lang.String getControlProfilePrefix()
Get the control profile prefix value.

Returns:
The control profile prefix value.
Since:
1.1

getDataWriteExtensions

public MeasurementService getDataWriteExtensions()
The "DataWriteExtensions" measurement is a map of meta data to be associated with tag data. Data Write extensions are applied to "TagWriteReport" data as the signal is published. Data extensions are applied to a "TagWriteAggregationReport" at the beginning and end of the aggregation cycle. Writing a value to this measurement merges the new map with the current DataWriteExtensions value. Setting the value of the measurement to an empty map clears the value.

Returns:
The data write extensions value.
Since:
1.1
See Also:
handleMethodDataWriteExtensions(int,Measurement,Object)

getDefaultDevice

public DeviceService getDefaultDevice()
Gets the default device (DeviceService) value.

Returns:
DeviceService The default DeviceService.
Since:
1.1

getDefaultKey

public java.lang.String getDefaultKey()
Gets the default key (String) value.

Returns:
String The default key
Since:
1.1

getExecuteOnOperationChange

public boolean getExecuteOnOperationChange()
executeOnOperationChange is a configuration parameter to specify whether to execute once when the writeOperations string is set or changed. .

Returns:
execute on operation change custom parameter.
Since:
1.2
See Also:
setExecuteOnOperationChange(boolean)

getGpioProfilePrefix

public java.lang.String getGpioProfilePrefix()
Get the GPIO profile prefix value.

Returns:
The GPIO profile prefix value.
Since:
1.1

getMessageCapacity

public int getMessageCapacity()
Gets the message capacity (int) value.

Returns:
int The message capacity.
Since:
1.1

getReaderId

public java.lang.String getReaderId()
Gets the reader ID (String) value.

Returns:
The reader id (String) value.

getTagAggregationWriteMaskSetting

public MeasurementService getTagAggregationWriteMaskSetting()
The "TagAggregationWriteMaskSetting" specifies the definition of tags that should be published on the TagWriteAggregationReport signal. A mask is specified by four comma-delimited parameters. The first parameter of a tag mask is a place holder for future use, and the value is ignored. The second parameter is the pointer value. It is the first bit location of the tag id against which to compare the mask. The third parameter is the length. It specifies the number of bits of the tag id to compare against the mask. The final parameter is the mask value specified as a hex string with each byte (two characters) separated by a blank. It is the pattern against which the specified section of the tag id must match to pass the filter. Multiple masks can be specified by separating them with a semicolon.

Returns:
The tag aggregation write mask setting value.
Since:
1.1
See Also:
handleMethodTagAggregationWriteMaskSetting(int,Measurement,Object), handleSetTagAggregationWriteMaskSetting(Measurement,Object)

getTagWriteAggregating

public MeasurementService getTagWriteAggregating()
The "TagWriteAggregating" measurement specifies the state of aggregating behavior. When the measurement value is true, the profile is collecting all tags which pass the Aggregation Write Mask. When the measurement value is updated to false, the profile publishes the TagWriteAggregationReport signal, clears the aggregation cache, and stops collecting incoming tags. If an LDAP expression is specified for the TagWriteAggregatingExpression, a publication to write a value to this measurement will result in an exception and will not update the measurement value.

Returns:
The tag write aggregating value.
Since:
1.1
See Also:
handleMethodTagWriteAggregating(int,Measurement,Object), handleTagWriteAggregating(MeasurementService,Object,Object,Object)

getTagWriteAggregatingExpression

public MeasurementService getTagWriteAggregatingExpression()
The "TagWriteAggregatingExpression" is an Lightweight Directory Access Protocol (LDAP) expression to trigger the behavior of aggregating based on input pin and control values.

Returns:
The tag write aggregating expression value.
Since:
1.1
See Also:
handleMethodTagWriteAggregatingExpression(int,Measurement,Object), handleSetTagWriteAggregatingExpression(Measurement,Object)

getTagWriteAggregationReport

public SignalService getTagWriteAggregationReport()
The "TagWriteAggregationReport" is a signal containing a collection of tag write information in a map structure. The report can contain zero to many tags stored at the "tags" key. It may include data extension meta data stored at the "DataWriteExtensions" key. See the tags and DataWriteExtensions descriptions for details.

Returns:
The tag write aggregation report value.
Since:
1.1

getTagWriteAntennaReporting

public MeasurementService getTagWriteAntennaReporting()
The "TagWriteAntennaReporting" measurement specifies the state of tag antenna reporting. When the measurement is true, the reader is reporting tag antenna information in tag data on the TagReport signal. When this tag antenna reporting is true, then extra process is required which may effect performance.

Returns:
The tag write antenna reporting value.
Since:
1.1
See Also:
handleMethodTagWriteAntennaReporting(int,Measurement,Object), isTagWriteAntennaReporting()

getTagWriteMaskSetting

public MeasurementService getTagWriteMaskSetting()
The "TagWriteMaskSetting" specifies the definition of tags that should be published on the TagWriteReport signal. A mask is specified by four comma-delimited parameters. The first parameter of a tag mask is a place holder for future use, and the value is ignored. The second parameter is the pointer value. It is the first bit location of the tag id against which to compare the mask. The third parameter is the length. It specifies the number of bits of the tag id to compare against the mask. The final parameter is the mask value specified as a hex string with each byte (two characters) separated by a blank. It is the pattern against which the specified section of the tag id must match to pass the filter. Multiple masks can be specified by separating them with a semicolon.

Returns:
The tag write mask setting value.
Since:
1.1
See Also:
handleMethodTagWriteMaskSetting(int,Measurement,Object), handleSetTagWriteMaskSetting(Measurement,Object)

getTagWriteReport

public SignalService getTagWriteReport()
The "TagWriteReport" is a signal containing tag write information in a map structure. The report contains one to many tags stored at the "tags" key. It may include data extension meta data stored at the "dataExtensions" key. See the tags and DataWriteExtensions descriptions for details.

Returns:
The tag write report value.
Since:
1.1

getWriteOperations

public MeasurementService getWriteOperations()
The "WriteOperations" specifies the definition of write operations block against the tag(s). A write operation block can contain multiple write operations separated by the character ":". A write operation is specified by parameters based on the operation, the parameters are separated by the character ";". The first parameter specifies the kind of write operation. <ul > <li>Operation Filter: Defines the tag filter to apply on the rest of the operations. Format: Filter;MemoryBank;Match;BitPointer;TagMask;TagData <ol> <li> Filter: Reserved name for the filter operation. </li> <li> MemoryBank: An integer to specify the memory bank to be used for the filter. </li> <li> Match: A boolean to specify if "match" or "not match" is applied for the filter. </li> <li> BitPointer: It is the first bit location (zero based) of the data against which to compare the mask. </li> <li> TagMask: A hex String as the mask for the filter. </li> <li> TagData: The the pattern against which the specified section of the tag data must match (or not match) to pass the filter. </li> </ol> </li> <li>Operation Write: Defines the write operation on the specified memory bank on the tags. Format: Write;MemoryBank;Pointer;WriteData;Password;OpCount;Timeout[;OperationId] <ol> <li> Write: Reserved name for the write operation. </li> <li> MemoryBank: An interger to specify the memory bank to written on. </li> <li> Pointer: The first location (zero based) in the memory bank to start the write operation. </li> <li> WriteData: The data for the write operation. </li> <li> Password: The password for the write operation. </li> <li> OpCount: An integer to specify the times this write operation will be executed, it will be unlimited if the value is 0. </li> <li> Timeout: The timeout value (milliseconds) for the write operation, no timeout if the value is 0. </li> <li> OperationId: The optional parameter to assign an id to the write operation. </li> </ol> </li> <li>Operation Increment Write: Defines an automatic incremental write on the specified memory bank on the tags. Format: Increment Write;MemoryBank;Pointer;WriteData;Increment;Password;Repeat;Timeout[;OperationId] <ol> <li> Increment Write: Reserved name for the increment write operation. </li> <li> MemoryBank: An interger to specify the memory bank to written on. </li> <li> Pointer: The first location (zero based) in the memory bank to start the write operation. </li> <li> WriteData: The base data for the write operation. </li> <li> Increment: An integer to specify the incremental value for each tag writing. </li> <li> Password: The password for the write operation. </li> <li> Repeat: An integer to specify the times the increment write operation will be executed, it will be unlimited if the value is 0. </li> <li> Timeout: The timeout value (milliseconds) for the increment write operation, no timeout if the value is 0. </li> <li> OperationId: The optional parameter to assign an id to the increment write operation. </li> </ol> </li> <li>Operation Read: Defines the read operation on the specified memory bank on the tags. Format: Read;MemoryBank;Pointer;WordCount;Password;OpCount;Timeout[;OperationId] <ol> <li> Read: Reserved name for the read operation. </li> <li> MemoryBank: An interger to specify the memory bank to read from. </li> <li> Pointer: The first location (zero based) in the memory bank to start the read operation. </li> <li> Password: The password for the read operation. </li> <li> OpCount: An integer to specify the times this read operation will be executed, it will be unlimited if the value is 0. </li> <li> Timeout: The timeout value (milliseconds) for the read operation, no timeout if the value is 0. </li> <li> OperationId: The optional parameter to assign an id to the read operation. </li> </ol> </li> </ul>

Returns:
The write operations value.
Since:
1.1
See Also:
executeWriteOperations(), handleMethodWriteOperations(int,Measurement,Object), handleSetWriteOperations(Measurement,Object)

getWriteOperationsExecuteRequest

public CommandService getWriteOperationsExecuteRequest()
The "WriteOperationsExecuteRequest" command requests that that tag write operations be executed. If an LDAP expression is specified for the WriteOperationsExpression, a publication to write a value to this command will result in an exception and will not execute the tag write operations.

Returns:
The write operations execute request value.
Since:
1.1
See Also:
handleMethodWriteOperationsExecuteRequest(int,Command,Object)

getWriteOperationsExecuteStatus

public MeasurementService getWriteOperationsExecuteStatus()
The "WriteOperationsExecuteStatus" specifies if the current WriteOperations are being executed. If the status is true, sending a new WriteOperations or execute request will result in an exception.

Returns:
The write operations execute status value.
Since:
1.1
See Also:
handleGetWriteOperationsExecuteStatus(), handleMethodWriteOperationsExecuteStatus(int,Measurement,Object), handleSetWriteOperationsExecuteStatus(Boolean)

getWriteOperationsExpression

public MeasurementService getWriteOperationsExpression()
The "WriteOperationsExpression" is an LDAP expression to trigger the state of tag writing based on input pin and control values. If the state of this expression changes to true, then the current WriteOperations will be executed once.

Returns:
The write operations expression value.
Since:
1.1
See Also:
handleMethodWriteOperationsExpression(int,Measurement,Object)

getWriteOperationsStopRequest

public CommandService getWriteOperationsStopRequest()
The "WriteOperationsStopRequest" command requests that that tag write operations be stopped. If an LDAP expression is specified for the WriteOperationsExpression, a publication to write a value to this command will result in an exception and will not stop the tag write operations.

Returns:
The write operations stop request value.
Since:
1.1
See Also:
handleMethodWriteOperationsStopRequest(int,Command,Object), handleWriteOperationsStopRequest()

handleControlProfileServiceBits

protected void handleControlProfileServiceBits(java.lang.String externalKey,
                                               java.util.Dictionary data)
Handle control profile service bits with the specified external key and data parameters.

Parameters:
externalKey - The external key (String) parameter.
data - The data (Dictionary) parameter.

handleControlProfileServiceLongs

protected void handleControlProfileServiceLongs(java.lang.String externalKey,
                                                java.util.Dictionary data)
Handle control profile service longs with the specified external key and data parameters.

Parameters:
externalKey - The external key (String) parameter.
data - The data (Dictionary) parameter.

handleGetWriteOperationsExecuteStatus

protected boolean handleGetWriteOperationsExecuteStatus()
Handle get write operations execute status and return the boolean result.

Returns:
Results of the handle get write operations execute status (boolean) value.

handleGpioProfileServiceAnalogInput

protected void handleGpioProfileServiceAnalogInput(java.lang.String externalKey,
                                                   java.util.Dictionary data)
Handle gpio profile service analog input with the specified external key and data parameters.

Parameters:
externalKey - The external key (String) parameter.
data - The data (Dictionary) parameter.

handleGpioProfileServiceInput

protected void handleGpioProfileServiceInput(java.lang.String externalKey,
                                             java.util.Dictionary data)
Handle GPIO profile service input with the specified external key and data parameters.

Parameters:
externalKey - The external key (String) parameter.
data - The data (Dictionary) parameter.

handleMethodAntennaConfiguration

public java.lang.Object handleMethodAntennaConfiguration(int code,
                                                         Measurement measurement,
                                                         java.lang.Object data)
Handle method antenna configuration with the specified code, measurement and data parameters and return the Object result.

Parameters:
code - The code (int) parameter.
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.
Returns:
Results of the handle method antenna configuration (Object) value.

handleMethodDataWriteExtensions

public java.lang.Object handleMethodDataWriteExtensions(int code,
                                                        Measurement measurement,
                                                        java.lang.Object data)
Handle method data write extensions with the specified code, measurement and data parameters and return the Object result.

Parameters:
code - The code (int) parameter.
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.
Returns:
Results of the handle method data write extensions (Object) value.

handleMethodTagAggregationWriteMaskSetting

public java.lang.Object handleMethodTagAggregationWriteMaskSetting(int code,
                                                                   Measurement measurement,
                                                                   java.lang.Object data)
Handle method tag aggregation write mask setting with the specified code, measurement and data parameters and return the Object result.

Parameters:
code - The code (int) parameter.
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.
Returns:
Results of the handle method tag aggregation write mask setting (Object) value.

handleMethodTagWriteAggregating

public java.lang.Object handleMethodTagWriteAggregating(int code,
                                                        Measurement measurement,
                                                        java.lang.Object data)
Handle method tag write aggregating with the specified code, measurement and data parameters and return the Object result.

Parameters:
code - The code (int) parameter.
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.
Returns:
Results of the handle method tag write aggregating (Object) value.

handleMethodTagWriteAggregatingExpression

public java.lang.Object handleMethodTagWriteAggregatingExpression(int code,
                                                                  Measurement measurement,
                                                                  java.lang.Object data)
Handle method tag write aggregating expression with the specified code, measurement and data parameters and return the Object result.

Parameters:
code - The code (int) parameter.
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.
Returns:
Results of the handle method tag write aggregating expression (Object) value.

handleMethodTagWriteAntennaReporting

public java.lang.Object handleMethodTagWriteAntennaReporting(int code,
                                                             Measurement measurement,
                                                             java.lang.Object data)
Handle method tag write antenna reporting with the specified code, measurement and data parameters and return the Object result.

Parameters:
code - The code (int) parameter.
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.
Returns:
Results of the handle method tag write antenna reporting (Object) value.

handleMethodTagWriteMaskSetting

public java.lang.Object handleMethodTagWriteMaskSetting(int code,
                                                        Measurement measurement,
                                                        java.lang.Object data)
Handle method tag write mask setting with the specified code, measurement and data parameters and return the Object result.

Parameters:
code - The code (int) parameter.
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.
Returns:
Results of the handle method tag write mask setting (Object) value.

handleMethodWriteOperations

public java.lang.Object handleMethodWriteOperations(int code,
                                                    Measurement measurement,
                                                    java.lang.Object data)
Handle method write operations with the specified code, measurement and data parameters and return the Object result.

Parameters:
code - The code (int) parameter.
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.
Returns:
Results of the handle method write operations (Object) value.

handleMethodWriteOperationsExecuteRequest

public java.lang.Object handleMethodWriteOperationsExecuteRequest(int code,
                                                                  Command command,
                                                                  java.lang.Object data)
Handle method write operations execute request with the specified code, command and data parameters and return the Object result.

Parameters:
code - The code (int) parameter.
command - The command (Command) parameter.
data - The data (Object) parameter.
Returns:
Results of the handle method write operations execute request (Object) value.

handleMethodWriteOperationsExecuteStatus

public java.lang.Object handleMethodWriteOperationsExecuteStatus(int code,
                                                                 Measurement measurement,
                                                                 java.lang.Object data)
Handle method write operations execute status with the specified code, measurement and data parameters and return the Object result.

Parameters:
code - The code (int) parameter.
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.
Returns:
Results of the handle method write operations execute status (Object) value.

handleMethodWriteOperationsExpression

public java.lang.Object handleMethodWriteOperationsExpression(int code,
                                                              Measurement measurement,
                                                              java.lang.Object data)
Handle method write operations expression with the specified code, measurement and data parameters and return the Object result.

Parameters:
code - The code (int) parameter.
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.
Returns:
Results of the handle method write operations expression (Object) value.

handleMethodWriteOperationsStopRequest

public java.lang.Object handleMethodWriteOperationsStopRequest(int code,
                                                               Command command,
                                                               java.lang.Object data)
Handle method write operations stop request with the specified code, command and data parameters and return the Object result.

Parameters:
code - The code (int) parameter.
command - The command (Command) parameter.
data - The data (Object) parameter.
Returns:
Results of the handle method write operations stop request (Object) value.

handleSetAntennaConfiguration

protected java.lang.Object handleSetAntennaConfiguration(Measurement measurement,
                                                         java.lang.Object data)
Handle set antenna configuration with the specified measurement and data parameters and return the Object result.

Parameters:
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.
Returns:
Results of the handle set antenna configuration (Object) value.

handleSetTagAggregationWriteMaskSetting

protected void handleSetTagAggregationWriteMaskSetting(Measurement measurement,
                                                       java.lang.Object data)
Handle set tag aggregation write mask setting with the specified measurement and data parameters.

Parameters:
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.

handleSetTagWriteAggregatingExpression

protected void handleSetTagWriteAggregatingExpression(Measurement measurement,
                                                      java.lang.Object data)
Handle set tag aggregating expression with the specified measurement and data parameters.

Parameters:
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.

handleSetTagWriteMaskSetting

protected void handleSetTagWriteMaskSetting(Measurement measurement,
                                            java.lang.Object data)
Handle set tag write mask setting with the specified measurement and data parameters.

Parameters:
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.

handleSetWriteOperationExpression

protected void handleSetWriteOperationExpression(Measurement measurement,
                                                 java.lang.Object data)
Handle set write operation expression with the specified measurement and data parameters.

Parameters:
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.

handleSetWriteOperations

protected java.lang.Object handleSetWriteOperations(Measurement measurement,
                                                    java.lang.Object data)
Handle set write operations with the specified measurement and data parameters and return the Object result.

Parameters:
measurement - The measurement (Measurement) parameter.
data - The data (Object) parameter.
Returns:
Results of the handle set write operations (Object) value.

handleSetWriteOperationsExecuteStatus

protected void handleSetWriteOperationsExecuteStatus(java.lang.Boolean status)
Handle set write operations execute status with the specified status parameter.

Parameters:
status - The status (Boolean) parameter.

handleTagWriteAggregating

protected void handleTagWriteAggregating(MeasurementService source,
                                         java.lang.Object timestamp,
                                         java.lang.Object newValue,
                                         java.lang.Object oldValue)
Handle tag write aggregating with the specified source, time stamp, new value and old value parameters.

Parameters:
source - The source (MeasurementService) parameter.
timestamp - The time stamp (Object) parameter.
newValue - The new value (Object) parameter.
oldValue - The old value (Object) parameter.
See Also:
getTagWriteAggregating(), handleMethodTagWriteAggregating(int,Measurement,Object)

handleWriteOperationsError

protected void handleWriteOperationsError(java.lang.String errorMsg)
Handle write operations error with the specified error msg parameter.

Parameters:
errorMsg - The error msg (String) parameter.

handleWriteOperationsStopRequest

protected void handleWriteOperationsStopRequest()
Handle write operations stop request.

See Also:
getWriteOperationsStopRequest(), handleMethodWriteOperationsStopRequest(int,Command,Object)

improveReportMap

protected void improveReportMap(java.util.Map reads,
                                java.lang.Object timestamp)
Improve reads map with the specified reads and timestamp parameters.

Parameters:
reads - The reads (Map) parameter.
timestamp - The time stamp (Object) parameter.

isDeviceNeeded

public boolean isDeviceNeeded()
Is device needed.

Returns:
The results of this method.
Since:
1.1

isOperationsRunning

protected boolean isOperationsRunning()
Gets the operations running (boolean) value.

Returns:
The operations running (boolean) value.

isTagWriteAntennaReporting

public boolean isTagWriteAntennaReporting()
Gets the tag write antenna reporting (boolean) value.

Returns:
The tag write antenna reporting (boolean) value.
See Also:
getTagWriteAntennaReporting(), handleMethodTagWriteAntennaReporting(int,Measurement,Object)

measurementChanged

public void measurementChanged(MeasurementService source,
                               java.lang.Object timestamp,
                               java.lang.Object newValue,
                               java.lang.Object oldValue)
Measurement changed.

Parameters:
source - source.
timestamp - time stamp.
newValue - new value.
oldValue - old value.
Since:
1.1

mergeAntennaInfo

public void mergeAntennaInfo(java.util.Map cacheReadData,
                             java.util.Map reads)
Merge antenna info with the specified cache read data and reads parameters.

Parameters:
cacheReadData - The cache read data (Map) parameter.
reads - The reads (Map) parameter.

mergeMapOverMap

protected java.util.Map mergeMapOverMap(java.util.Map additionalValues,
                                        java.util.Map existingValues)
Merge map over map with the specified additional values and existing values parameters and return the Map result.

Parameters:
additionalValues - The additional values (Map) parameter.
existingValues - The existing values (Map) parameter.
Returns:
Results of the merge map over map (Map) value.

notificationReceived

public void notificationReceived(java.lang.String externalKey,
                                 java.util.Dictionary data)
Notification received.

Parameters:
externalKey - external key.
data - data.
Since:
1.1

notifyTagAggregation

public void notifyTagAggregation()
Notify tag aggregation.


notifyTagReport

public void notifyTagReport(java.lang.String key,
                            java.lang.String operationId,
                            java.util.Map reads)
Notify tag report with the specified key, operation id and reads parameters.

Parameters:
key - The key (String) parameter.
operationId - The operation ID (String) parameter.
reads - The reads (Map) parameter.
See Also:
notifyTagReport(String,String,Map,Object)

notifyTagReport

public void notifyTagReport(java.lang.String key,
                            java.lang.String operationId,
                            java.util.Map reads,
                            java.lang.Object timestamp)
Notify tag report with the specified key, operation id, reads and timestamp parameters.

Parameters:
key - The key (String) parameter.
operationId - The operation ID (String) parameter.
reads - The reads (Map) parameter.
timestamp - The time stamp (Object) parameter.
See Also:
notifyTagReport(String,String,Map)

operationsInterrupted

protected void operationsInterrupted(java.lang.String errorMsg)
Operations interrupted with the specified error msg parameter.

Parameters:
errorMsg - The error msg (String) parameter.

setExecuteOnOperationChange

public void setExecuteOnOperationChange(boolean executeOnOperationChange)
executeOnOperationChange is a configuration parameter to specify whether to execute once when the writeOperations string is set or changed. .

Parameters:
executeOnOperationChange - The execute on operation change custom parameter.
Since:
1.2
See Also:
getExecuteOnOperationChange()

setOperationsStatusFinished

protected void setOperationsStatusFinished()
Operations finished.


setOperationsStatusStarted

protected void setOperationsStatusStarted()
Operations started.


setTagWriteAggregatingLdapFilter

protected void setTagWriteAggregatingLdapFilter(Filter tagAggregatingLdapFilter)
Sets the tag aggregating ldap filter value.

Parameters:
tagAggregatingLdapFilter - The tag aggregating ldap filter (Filter) parameter.

setup

public void setup()
Since:
1.2
See Also:
org.eclipse.soda.dk.device.Container#setup()

setupNotification

public void setupNotification()
Setup notification.

Since:
1.1

setWriteOperationLdapFilter

protected void setWriteOperationLdapFilter(Filter writeOperationLdapFilter)
Sets the write operation ldap filter value.

Parameters:
writeOperationLdapFilter - The write operation ldap filter (Filter) parameter.
See Also:
evaluateWriteOperationLdapFilter()

startOperations

protected abstract boolean startOperations()
Start operations.

Returns:
Results of the start operations (boolean) value.
See Also:
endOperations(), executeWriteOperations(), getWriteOperations(), handleMethodWriteOperations(int,Measurement,Object), handleSetWriteOperations(Measurement,Object)

updateTagInCache

protected void updateTagInCache(java.lang.String key,
                                java.lang.String operationId,
                                java.util.Map reads,
                                java.util.Map cache,
                                java.lang.Object timestamp)
Update tag in cache with the specified key, operation ID, reads, cache and time stamp parameters.

Parameters:
key - The key (String) parameter.
operationId - The operation ID (String) parameter.
reads - The reads (Map) parameter.
cache - The cache (Map) parameter.
timestamp - The time stamp (Object) parameter.

2010-01-26 1.2.0

Copyright (c) 2010 IBM. See license in Legal section.