es.iac.ing.codeso.status.server
Class StatusItemLong

java.lang.Object
  extended by es.iac.ing.codeso.status.server.StatusItem<StatusItemDescriptorLong,StatusItemValueLong>
      extended by es.iac.ing.codeso.status.server.StatusItemLong

@ThreadSafe
public class StatusItemLong
extends StatusItem<StatusItemDescriptorLong,StatusItemValueLong>

A status item supporting the CODESO IDL-specified type: STATUS_TYPE_LONG.

Unless limited further by information in the descriptor the allowed range of values for this status item is Integer.MIN_VALUE - Integer.MAX_VALUE.

This class is thread-safe.


Field Summary
 
Fields inherited from class es.iac.ing.codeso.status.server.StatusItem
DEFAULT_LOGGING_STATE
 
Constructor Summary
StatusItemLong(CorbaName corbaName, StatusItemPublicationPolicy statusItemPublicationPolicy, StatusItemDescriptorLong statusItemDescriptorLong)
          Constructs a new instance based directly on the information contained in the supplied descriptor and publication policy objects.
StatusItemLong(CorbaName corbaName, java.lang.String system, java.lang.String subsystem, java.lang.String property, java.lang.String engineeringUnits)
          Constructs a new instance whose minimum and maximum values are unconstrained.
StatusItemLong(CorbaName corbaName, java.lang.String system, java.lang.String subsystem, java.lang.String property, java.lang.String engineeringUnits, int minValue, int maxValue)
          Constructs a new instance, whose minimum and maximum values are constrained by the information in the descriptor.
 
Method Summary
 void setValue(int newValue)
          Sets the value of this status item, leaving its boolean attributes unchanged.
 void setValue(int newValue, java.lang.Boolean active, java.lang.Boolean exceptional)
          Sets the value of this status item, or the value of one of its boolean attributes.
 void setValue(StatusItemValueLong newValue)
          Sets the value of this status item based directly on the supplied value object.
 
Methods inherited from class es.iac.ing.codeso.status.server.StatusItem
activate, awaitRegistration, getCorbaName, getDescriptor, getInfo, getStatistics, getValue, isActive, isLoggingEnabled, isRegistered, isShutdown, isValueActive, isValueExceptional, isValueInErrorState, setActive, setErrorValue, setErrorValue, setErrorValue, setExceptional, setLoggingState, shutdown, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StatusItemLong

public StatusItemLong(CorbaName corbaName,
                      java.lang.String system,
                      java.lang.String subsystem,
                      java.lang.String property,
                      java.lang.String engineeringUnits)
Constructs a new instance whose minimum and maximum values are unconstrained.

The publication policy for this instance will be based on the default settings specified in the StatusItemPublicationPolicy class. Where the default is inappropriate programmers should use the more complex form of the constructor in which the publication policy may be directly specified.

Once created the status item will remain dormant until activated via the activate method.

Parameters:
corbaName - CorbaName specifying the name of the StatusItem and the location of the CORBA Naming Service on which it is to be registered.
system - String specifying the system with which this status item will be associated. For example: "INGRID".
subsystem - String specifying the subsystem with which this status item will be associated. For example: "Filter Wheel 1".
property - String specifying the property with which this status item will be associated. For example: "Angular Position"
engineeringUnits - String specifying the engineering units in which this status item is expressed. For example: "Degrees"
Throws:
java.lang.NullPointerException - if any reference parameter was null.

StatusItemLong

public StatusItemLong(CorbaName corbaName,
                      java.lang.String system,
                      java.lang.String subsystem,
                      java.lang.String property,
                      java.lang.String engineeringUnits,
                      int minValue,
                      int maxValue)
Constructs a new instance, whose minimum and maximum values are constrained by the information in the descriptor.

The publication policy for this instance will be based on the default settings specified in the StatusItemPublicationPolicy class. Where the default is inappropriate programmers should use the more complex form of the constructor in which the publication policy may be directly specified.

Once created the status item will remain dormant until activated via the activate method.

Parameters:
corbaName - CorbaName specifying the name of the StatusItem and the location of the CORBA Naming Service on which it is to be registered.
system - String specifying the system with which this status item will be associated. For example: "INGRID".
subsystem - String specifying the subsystem with which this status item will be associated. For example: "Filter Wheel 1".
property - String specifying the property with which this status item will be associated. For example: "Angular Position"
engineeringUnits - String specifying the engineering units in which this status item is expressed. For example: "Degrees"
minValue - int expressing the minimum value for this status item. If no limit is required this field should be set to Integer.MIN_VALUE.
maxValue - int expressing the maximum value for this status item. Must be greater than or equal to the minValue. If no limit is required this field should be set to Integer.MAX_VALUE.
Throws:
java.lang.NullPointerException - if any reference parameter was null.
java.lang.IllegalArgumentException - if the minValue parameter was greater than the maxValue parameter.

StatusItemLong

public StatusItemLong(CorbaName corbaName,
                      StatusItemPublicationPolicy statusItemPublicationPolicy,
                      StatusItemDescriptorLong statusItemDescriptorLong)
Constructs a new instance based directly on the information contained in the supplied descriptor and publication policy objects.

This version of the constructor provides complete control over all aspects of the status item's behaviour. Where this flexibility is not required programmers should use one of the more convenient forms of the constructor.

Once created the status item will remain dormant until activated via the activate method.

Parameters:
corbaName - CorbaName specifying the name of the StatusItem and the location of the CORBA Naming Service on which it is to be registered.
statusItemPublicationPolicy - reference to an object that will define the policies to be used when publishing the status item's data.
statusItemDescriptorLong - reference to an object specifying the descriptor information.
Throws:
java.lang.NullPointerException - if any reference parameter was null.
Method Detail

setValue

public void setValue(int newValue)
Sets the value of this status item, leaving its boolean attributes unchanged.

If previously the value of the status item was in error then the invocation of this method will clear the error condition and reset the active and exceptional attributes.

The invocation of this method will NOT incur the cost of a remote call. Instead the new value will be published to interested third parties on separate multiple threads.

Parameters:
newValue - integer specifying the new value. The value must lie within any range which may be optionally specified in the associated descriptor.
Throws:
java.lang.IllegalArgumentException - if the newValue parameter was outside the allowed range specified by the descriptor.

setValue

public void setValue(int newValue,
                     java.lang.Boolean active,
                     java.lang.Boolean exceptional)
Sets the value of this status item, or the value of one of its boolean attributes.

If previously the value of the status item was in error then the invocation of this method will clear the error condition and reset the state of any boolean attributes whose value is not explicitly specified in this method's argument list (that's to say those specified as being null).

The invocation of this method will NOT incur the cost of a remote call. Instead the new value will be published to interested third parties on separate multiple threads.

Please refer to the es.iac.ing.codeso.status.server package description for further information about the quality-of-service associated with publication.

Parameters:
newValue - integer specifying the new value. The value must lie within any range which may be optionally specified in the associated descriptor.
active - Boolean specifying the new state for the active attribute. This parameter may be set to null if this attribute does not require manipulation.
exceptional - Boolean specifying the new state for the exceptional attribute. This parameter may be set to null if this attribute does not require manipulation.
Throws:
java.lang.IllegalArgumentException - if the newValue parameter was outside the allowed range specified by the descriptor.

setValue

public void setValue(StatusItemValueLong newValue)
Sets the value of this status item based directly on the supplied value object.

The invocation of this method will NOT incur the cost of a remote call. Instead the new value will be published to interested third parties on separate multiple threads.

Please refer to the es.iac.ing.codeso.status.server package description for further information about the quality-of-service associated with publication.

Overrides:
setValue in class StatusItem<StatusItemDescriptorLong,StatusItemValueLong>
Parameters:
newValue - reference to the object supplying the new value information.
Throws:
java.lang.NullPointerException - if the newValue parameter was null.