|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectes.iac.ing.codeso.status.server.StatusItem<StatusItemDescriptorIdl,StatusItemValueIdl>
es.iac.ing.codeso.status.server.StatusItemIdl<X>
@ThreadSafe public class StatusItemIdl<X extends org.omg.CORBA.portable.IDLEntity>
A status item supporting the CODESO IDL-specified type: STATUS_TYPE_COMPLEX_DEFINED_BY_IDL
.
This class is thread-safe.
Field Summary | |
---|---|
private java.lang.reflect.Method |
anyExtractMethod
Holds reference to a method in the constructor-specified helper class which may be used for extracting the parameterized value from a CORBA Any. |
private java.lang.reflect.Method |
anyInsertMethod
Holds reference to a method in the constructor-specified helper class which may be used for inserting the parameterized value into a CORBA Any. |
private java.lang.Class<X> |
xClass
Holds a reference to the value class associated with this status item. |
Fields inherited from class es.iac.ing.codeso.status.server.StatusItem |
---|
DEFAULT_LOGGING_STATE |
Constructor Summary | |
---|---|
StatusItemIdl(java.lang.Class<X> xClass,
java.lang.Class xHelperClass,
CorbaName corbaName,
StatusItemPublicationPolicy statusItemPublicationPolicy,
StatusItemDescriptorIdl statusItemDescriptorIdl)
Constructs a new instance based directly on the information contained in the supplied descriptor and publication policy objects. |
|
StatusItemIdl(java.lang.Class<X> xClass,
java.lang.Class xHelperClass,
CorbaName corbaName,
java.lang.String system,
java.lang.String subsystem,
java.lang.String property,
java.lang.String engineeringUnits,
org.omg.CORBA.Any idlDescriptor)
Constructs a new instance. |
Method Summary | |
---|---|
X |
getTypedValue()
Gets the current value of this status item and converts it to the parameterized type on which this class is based. |
void |
setValue(StatusItemValueIdl newValue)
Sets the value of this status item based directly on the supplied value object. |
void |
setValue(X newValue)
Sets the value of this status item, leaving its boolean attributes unchanged. |
void |
setValue(X 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. |
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 |
Field Detail |
---|
private final java.lang.Class<X extends org.omg.CORBA.portable.IDLEntity> xClass
private final java.lang.reflect.Method anyInsertMethod
private final java.lang.reflect.Method anyExtractMethod
Constructor Detail |
---|
public StatusItemIdl(java.lang.Class<X> xClass, java.lang.Class xHelperClass, CorbaName corbaName, java.lang.String system, java.lang.String subsystem, java.lang.String property, java.lang.String engineeringUnits, org.omg.CORBA.Any idlDescriptor)
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.
xClass
- reference to the class file associated with
the class instance parameterized type.xHelperClass
- reference to the class file associated with
the class which can translate between the parameterized type
and a CORBA Any
.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"idlDescriptor
- CORBA Any providing optional additional information
describing the status item. This parameter may be set to null
if not required.
java.lang.NullPointerException
- if any reference parameter was null.
java.lang.IllegalArgumentException
- if the specified helper class
did not contain appropriate method signatures for translating
between type public StatusItemIdl(java.lang.Class<X> xClass, java.lang.Class xHelperClass, CorbaName corbaName, StatusItemPublicationPolicy statusItemPublicationPolicy, StatusItemDescriptorIdl statusItemDescriptorIdl)
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.
xClass
- reference to the class file associated with
the class instance parameterized type.xHelperClass
- reference to the class file associated with
the class which can translate between the parameterized type
and a CORBA Any
.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.statusItemDescriptorIdl
- reference to an object specifying
the descriptor information.
java.lang.NullPointerException
- if any reference parameter was null.
java.lang.IllegalArgumentException
- if the specified helper class
did not contain appropriate method signatures for translating
between type Method Detail |
---|
public X getTypedValue()
public void setValue(X newValue)
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.
newValue
- V specifying the new value.
java.lang.NullPointerException
- if the newValue
parameter
was null.
java.lang.IllegalArgumentException
- if the helper class was unable to insert
the 'newValue' argument into a CORBA Any
.public void setValue(X newValue, java.lang.Boolean active, java.lang.Boolean exceptional)
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.
newValue
- V specifying the new value.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.
java.lang.NullPointerException
- if the newValue
parameter
was null.
java.lang.IllegalArgumentException
- if the helper class was unable to insert
the 'newValue' argument into a CORBA Any
.public void setValue(StatusItemValueIdl newValue)
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.
setValue
in class StatusItem<StatusItemDescriptorIdl,StatusItemValueIdl>
newValue
- reference to the object supplying the new value
information.
java.lang.NullPointerException
- if the newValue
parameter
was null.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |