fr.esrf.tangoatk.core.attribute
Class EnumScalar

java.lang.Object
  extended by fr.esrf.tangoatk.core.attribute.AAttribute
      extended by fr.esrf.tangoatk.core.attribute.EnumScalar
All Implemented Interfaces:
fr.esrf.TangoApi.events.ITangoChangeListener, fr.esrf.TangoApi.events.ITangoPeriodicListener, IAttribute, IEntity, IEnumScalar, IRefreshee, fr.esrf.TangoDs.TangoConst, java.io.Serializable, java.util.EventListener

public class EnumScalar
extends AAttribute
implements IEnumScalar

Enumerated scalar attributes (missing in Tango) are mapped in EnumScalar class of ATK. In order to use them the device server attribute should be of type Dev_SHORT or Dev_USHORT and should have a property called "EnumLabels" defined. This property should contain the list of all "enumerated" labels separated by "\n" (new line, return). By convention the first label in the list is associated to the value zero and the following labels are associated to the values increasing by 1 each time. If the attribute property "EnumSetExclusion" is defined, it will be used to exclude from the values authorized for writeAttribute some of the enumerated labels defined in EnumLabels property. EnumSetExclusion is used to restrict the authorized values for set to a subset of values defined in EnumLabels.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class fr.esrf.tangoatk.core.attribute.AAttribute
alias, attPropertiesLoaded, attribute, changeCount, config, device, error, eventError, name, nameSansDevice, periodicCount, propChanges, propertyStorage, refreshCount, skippingRefresh, state, timer, timeStamp
 
Fields inherited from interface fr.esrf.tangoatk.core.IAttribute
ALARM, CHANGING, INVALID, OK, UNKNOWN, VALID, WARNING
 
Fields inherited from interface fr.esrf.TangoDs.TangoConst
ACCESS_READ, ACCESS_SERVICE, ACCESS_WRITE, ARCHIVE_EVENT, ATT_CONF_EVENT, Attr_AdmName, Attr_Description, Attr_Name, Attr_State, Attr_Status, Attr_Unknown, ATTRIBUTE, BY_CLASS, BY_DEVICE, BY_PROCESS, CHANGE_EVENT, COMMAND, CONTROL_SYSTEM, DATA_READY_EVENT, DEFAULT_LOCK_VALIDITY, eventNames, LOGGING_CONSOLE_TARGET, LOGGING_CONSOLE_TARGET_ID, LOGGING_DEBUG, LOGGING_DEF_RFT, LOGGING_DEVICE_TARGET, LOGGING_DEVICE_TARGET_ID, LOGGING_ERROR, LOGGING_FATAL, LOGGING_FILE_TARGET, LOGGING_FILE_TARGET_ID, LOGGING_INFO, LOGGING_LEVELS, LOGGING_MAX_RFT, LOGGING_MIN_RFT, LOGGING_OFF, LOGGING_SEPARATOR, LOGGING_UNKNOWN_TARGET_ID, LOGGING_WARN, NO_SYNC, NOT_STATELESS, NotANumber, Op_BlackBox, Op_Command, Op_Command_2, Op_Command_inout, Op_Command_inout_2, Op_Command_inout_history_2, Op_Command_list, Op_Command_list_2, Op_Get_Attr_Config, Op_Get_Attr_Config_2, Op_Info, Op_Ping, Op_Read_Attr, Op_Read_Attr_2, Op_Read_Attr_history_2, Op_Set_Attr_Config, Op_Unknown, Op_Write_Attr, PERIODIC_EVENT, QUALITY_EVENT, Req_Attribute, Req_Operation, Req_Unknown, SERVICE_PROP_NAME, STATELESS, Tango_AllAttr, Tango_AllAttr_3, Tango_AlrmValueNotSpec, Tango_AssocWritNotSpec, Tango_AttrDataFormatName, Tango_CLNT_TIMEOUT, Tango_CmdArgTypeName, Tango_CONST_DEV_STRING, Tango_DbObjName, Tango_DEFAULT_POLL_OLD_FACTOR, Tango_DEFAULT_TIMEOUT, Tango_DEFAULT_TIMEOUT_SEC, Tango_DefaultBlackBoxDepth, Tango_DefaultDocUrl, Tango_DefaultPollRingDepth, Tango_DefaultWritableProp, Tango_DELTA_T, Tango_DescNotSet, Tango_DescNotSpec, Tango_DEV_BOOLEAN, Tango_DEV_CHAR, Tango_DEV_DOUBLE, Tango_DEV_ENCODED, Tango_DEV_FLOAT, Tango_DEV_INT, Tango_DEV_LONG, Tango_DEV_LONG64, Tango_DEV_SHORT, Tango_DEV_STATE, Tango_DEV_STRING, Tango_DEV_UCHAR, Tango_DEV_ULONG, Tango_DEV_ULONG64, Tango_DEV_USHORT, Tango_DEV_VOID, Tango_DevStateName, Tango_DEVVAR_CHARARRAY, Tango_DEVVAR_DOUBLEARRAY, Tango_DEVVAR_DOUBLESTRINGARRAY, Tango_DEVVAR_FLOATARRAY, Tango_DEVVAR_LONG64ARRAY, Tango_DEVVAR_LONGARRAY, Tango_DEVVAR_LONGSTRINGARRAY, Tango_DEVVAR_SHORTARRAY, Tango_DEVVAR_STRINGARRAY, Tango_DEVVAR_ULONG64ARRAY, Tango_DEVVAR_ULONGARRAY, Tango_DEVVAR_USHORTARRAY, Tango_DevVersion, Tango_DISCARD_THRESHOLD, Tango_DispUnitNotSpec, Tango_DSDeviceDomain, Tango_EXPERT_ATTR, Tango_EXPERT_CMD, Tango_FormatNotSpec, Tango_InitialOutput, Tango_LabelNotSpec, TANGO_LOG_PATH, Tango_MAX_TRANSFER_SIZE, Tango_MaxServerNameLength, Tango_MIN_POLL_PERIOD, Tango_OPERATOR_ATTR, Tango_OPERATOR_CMD, Tango_POLL_ADD_OBJ, Tango_POLL_ATTR, Tango_POLL_CMD, Tango_POLL_REM_DEV, Tango_POLL_REM_OBJ, Tango_POLL_START, Tango_POLL_STOP, Tango_POLL_UPD_PERIOD, Tango_PollAttribute, Tango_PollCommand, Tango_QualityName, Tango_REL_1, Tango_REL_2, Tango_ResNotDefined, Tango_StdUnitNotSpec, Tango_SysProperty, Tango_TG_IMP_MINOR_DEVFAILED, Tango_TG_IMP_MINOR_NON_DEVFAILED, Tango_TG_IMP_MINOR_TO, Tango_TgLibVers, Tango_UnitNotSpec, USER_EVENT
 
Constructor Summary
EnumScalar(java.lang.String[] enums, java.lang.String[] setEnumExclusion)
           
 
Method Summary
 void addEnumScalarListener(IEnumScalarListener l)
           
 void change(fr.esrf.TangoApi.events.TangoChangeEvent evt)
           
static boolean containsEnumLabel(java.lang.String[] labelList, java.lang.String label)
           
 void dispatch(fr.esrf.TangoApi.DeviceAttribute attValue)
          Method used by optimized AttributePolledList (one read per device)
 void dispatchError(fr.esrf.Tango.DevFailed e)
          Method used by optimized AttributePolledList (one read per device)
 java.lang.String getEnumScalarSetPoint()
           
 java.lang.String getEnumScalarSetPointFromDevice()
           
 java.lang.String getEnumScalarValue()
           
 java.lang.String[] getEnumValues()
           
 int getMaxXDimension()
          getMaxXDimension returns the max x-dimension of the attribute
static java.lang.String[] getNonEmptyLabels(java.lang.String[] labelList)
           
 java.lang.String[] getSetEnumValues()
           
 java.lang.String getType()
          Overrides the getType() method in AAttribute
 java.lang.String getVersion()
           
 int getXDimension()
          getXDimension returns the actual x-dimension of the attribute.
 boolean isWritable()
          isWritable returns true if this attribute is writable
 void periodic(fr.esrf.TangoApi.events.TangoPeriodicEvent evt)
           
 void refresh()
          refreshes the listeners of this particular object.
 void removeEnumScalarListener(IEnumScalarListener l)
           
 void setEnumHelper(EnumScalarHelper helper)
           
 void setEnumScalarValue(java.lang.String s)
           
 
Methods inherited from class fr.esrf.tangoatk.core.attribute.AAttribute
addErrorListener, addSetErrorListener, addStateListener, areAttPropertiesLoaded, checkDimensions, checkDimensions, checkDimensions, flatten, freeInternalData, getAlias, getAttribute, getChangeCount, getDescription, getDevice, getDeviceAttribute, getDisplayUnit, getDisplayUnitFactor, getFormat, getHeight, getLabel, getLevel, getListenerList, getMaxYDimension, getName, getNameSansDevice, getPeriodicCount, getPropChanges, getProperty, getPropertyMap, getPropertyNames, getPropertyStorage, getRefreshCount, getStandardUnit, getStandardUnitFactor, getState, getSubscriptionError, getTangoDataFormat, getTangoDataType, getUnit, getWidth, getYDimension, hasEvents, init, isExpert, isOperator, isSkippingRefresh, loadAttProperties, readAttError, readAttHistoryFromNetwork, readDeviceValueFromNetwork, readValueFromNetwork, removeErrorListener, removeSetErrorListener, removeStateListener, serializeInit, setAlias, setAttError, setConfiguration, setDescription, setDevice, setLabel, setName, setProperty, setProperty, setPropertyStorage, setSkippingRefresh, setState, setState, setState, storeConfig, toString, writeAtt
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface fr.esrf.tangoatk.core.IAttribute
addSetErrorListener, addStateListener, areAttPropertiesLoaded, getAttribute, getDescription, getDisplayUnit, getDisplayUnitFactor, getFormat, getHeight, getLabel, getMaxYDimension, getStandardUnit, getStandardUnitFactor, getState, getTangoDataFormat, getTangoDataType, getUnit, getWidth, getYDimension, hasEvents, isSkippingRefresh, loadAttProperties, removeSetErrorListener, removeStateListener, setDescription, setLabel, setName, setProperty, setProperty, setSkippingRefresh
 
Methods inherited from interface fr.esrf.tangoatk.core.IEntity
addErrorListener, getAlias, getDevice, getListenerList, getName, getNameSansDevice, getProperty, getPropertyMap, isExpert, isOperator, removeErrorListener, setAlias, storeConfig
 

Constructor Detail

EnumScalar

public EnumScalar(java.lang.String[] enums,
                  java.lang.String[] setEnumExclusion)
Method Detail

containsEnumLabel

public static boolean containsEnumLabel(java.lang.String[] labelList,
                                        java.lang.String label)

getNonEmptyLabels

public static java.lang.String[] getNonEmptyLabels(java.lang.String[] labelList)

getType

public java.lang.String getType()
Overrides the getType() method in AAttribute

Specified by:
getType in interface IAttribute
Overrides:
getType in class AAttribute
Returns:
a String value

setEnumHelper

public void setEnumHelper(EnumScalarHelper helper)

getEnumScalarValue

public java.lang.String getEnumScalarValue()
Specified by:
getEnumScalarValue in interface IEnumScalar

setEnumScalarValue

public void setEnumScalarValue(java.lang.String s)
Specified by:
setEnumScalarValue in interface IEnumScalar

getEnumScalarSetPoint

public java.lang.String getEnumScalarSetPoint()
Specified by:
getEnumScalarSetPoint in interface IEnumScalar

getEnumScalarSetPointFromDevice

public java.lang.String getEnumScalarSetPointFromDevice()
Specified by:
getEnumScalarSetPointFromDevice in interface IEnumScalar

getXDimension

public int getXDimension()
Description copied from interface: IAttribute
getXDimension returns the actual x-dimension of the attribute.

Specified by:
getXDimension in interface IAttribute
Overrides:
getXDimension in class AAttribute
Returns:
an int value

getMaxXDimension

public int getMaxXDimension()
Description copied from interface: IAttribute
getMaxXDimension returns the max x-dimension of the attribute

Specified by:
getMaxXDimension in interface IAttribute
Overrides:
getMaxXDimension in class AAttribute
Returns:
an int value

addEnumScalarListener

public void addEnumScalarListener(IEnumScalarListener l)
Specified by:
addEnumScalarListener in interface IEnumScalar

removeEnumScalarListener

public void removeEnumScalarListener(IEnumScalarListener l)
Specified by:
removeEnumScalarListener in interface IEnumScalar

refresh

public void refresh()
Description copied from interface: IRefreshee
refreshes the listeners of this particular object.

Specified by:
refresh in interface IRefreshee

dispatch

public void dispatch(fr.esrf.TangoApi.DeviceAttribute attValue)
Description copied from interface: IAttribute
Method used by optimized AttributePolledList (one read per device)

Specified by:
dispatch in interface IAttribute
Parameters:
attValue - Attribute value

dispatchError

public void dispatchError(fr.esrf.Tango.DevFailed e)
Description copied from interface: IAttribute
Method used by optimized AttributePolledList (one read per device)

Specified by:
dispatchError in interface IAttribute
Parameters:
e - Attribute arror

isWritable

public boolean isWritable()
Description copied from interface: IAttribute
isWritable returns true if this attribute is writable

Specified by:
isWritable in interface IAttribute
Overrides:
isWritable in class AAttribute
Returns:
a boolean value

getEnumValues

public java.lang.String[] getEnumValues()
Specified by:
getEnumValues in interface IEnumScalar

getSetEnumValues

public java.lang.String[] getSetEnumValues()
Specified by:
getSetEnumValues in interface IEnumScalar

periodic

public void periodic(fr.esrf.TangoApi.events.TangoPeriodicEvent evt)
Specified by:
periodic in interface fr.esrf.TangoApi.events.ITangoPeriodicListener

change

public void change(fr.esrf.TangoApi.events.TangoChangeEvent evt)
Specified by:
change in interface fr.esrf.TangoApi.events.ITangoChangeListener

getVersion

public java.lang.String getVersion()
Overrides:
getVersion in class AAttribute