org.npsnet.xrti.proxies
Class HLAreflectionProxy

java.lang.Object
  extended byorg.npsnet.xrti.utilities.ObjectInstanceProxy
      extended byorg.npsnet.xrti.proxies.HLAobjectRootProxy
          extended byorg.npsnet.xrti.proxies.HLAreflectionProxy
All Implemented Interfaces:
HLAobjectRoot, HLAreflection
Direct Known Subclasses:
HLAattributeProxy, HLAdataTypeProxy, HLAdimensionProxy, HLAinteractionClassProxy, HLAobjectClassProxy, HLAparameterProxy, HLAsynchronizationProxy, HLAtransportationProxy

public class HLAreflectionProxy
extends HLAobjectRootProxy
implements HLAreflection

This object class is the root class of all ROM object classes.

Author:
org.npsnet.xrti.utilities.ProxyCompiler

Field Summary
 
Fields inherited from class org.npsnet.xrti.utilities.ObjectInstanceProxy
autoFlushDisabled, classHandle, deleted, instanceHandle, rtiAmbassador
 
Constructor Summary
protected HLAreflectionProxy(RTIambassador pRTIAmbassador, ObjectClassHandle pClassHandle)
          Constructor for object instance proxies created to represent new locally owned objects.
protected HLAreflectionProxy(RTIambassador pRTIAmbassador, ObjectClassHandle pClassHandle, java.lang.String pName)
          Constructor for object instance proxies created to represent new locally owned objects.
protected HLAreflectionProxy(RTIambassador pRTIAmbassador, ObjectInstanceHandle pInstanceHandle, ObjectClassHandle pClassHandle, java.lang.String pName)
          Constructor for object instance proxies created in response to discovered objects.
 
Method Summary
 void addHLAreflectionListener(HLAreflectionListener l)
          Adds a listener for attributes associated with the HLAreflection class.
protected  void getAttributeValuesToFlush(AttributeHandleValueMap ahvm, boolean superFlush)
          Places the attribute values to flush into the specified map.
 java.lang.String getName()
          Returns the value of the name attribute.
 void provideAttributeValueUpdate(AttributeHandleSet theAttributes, byte[] userSuppliedTag)
          Notifies the proxy that it should provide an update regarding a set of object attributes.
 void reflectAttributeValues(AttributeHandleValueMap theAttributes, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Notifies the proxy of changes to the state of an object instance.
 void removeHLAreflectionListener(HLAreflectionListener l)
          Removes a listener for attributes associated with the HLAreflection class.
 void setName(java.lang.String pName, byte[] userSuppliedTag)
          Sets the value of the name attribute.
 
Methods inherited from class org.npsnet.xrti.proxies.HLAobjectRootProxy
addHLAobjectRootListener, removeHLAobjectRootListener
 
Methods inherited from class org.npsnet.xrti.utilities.ObjectInstanceProxy
delete, equals, flushAttributeValues, flushAttributeValues, getAutoFlushDisabled, getClassHandle, getInstanceHandle, hashCode, isDeleted, reflectAttributeValues, reflectAttributeValues, reflectAttributeValues, reflectAttributeValues, reflectAttributeValues, setAutoFlushDisabled, setDeleted, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.npsnet.xrti.proxies.HLAobjectRoot
addHLAobjectRootListener, removeHLAobjectRootListener
 

Constructor Detail

HLAreflectionProxy

protected HLAreflectionProxy(RTIambassador pRTIAmbassador,
                             ObjectInstanceHandle pInstanceHandle,
                             ObjectClassHandle pClassHandle,
                             java.lang.String pName)
                      throws RTIinternalError
Constructor for object instance proxies created in response to discovered objects.

Parameters:
pRTIAmbassador - the run-time infrastructure ambassador
pInstanceHandle - the object instance handle
pClassHandle - the object class handle
pName - the object name
Throws:
RTIinternalError - if an internal error occurred in the run-time infrastructure

HLAreflectionProxy

protected HLAreflectionProxy(RTIambassador pRTIAmbassador,
                             ObjectClassHandle pClassHandle)
                      throws ObjectClassNotDefined,
                             ObjectClassNotPublished,
                             FederateNotExecutionMember,
                             SaveInProgress,
                             RestoreInProgress,
                             RTIinternalError
Constructor for object instance proxies created to represent new locally owned objects. Automatically notifies the run-time infrastructure.

Parameters:
pRTIAmbassador - the run-time infrastructure ambassador
pClassHandle - the object class handle
Throws:
ObjectClassNotDefined - if the specified object class is not defined
ObjectClassNotPublished - if the specified object class is not published
FederateNotExecutionMember - if the federate is not a member of an execution
SaveInProgress - if a save operation is in progress
RestoreInProgress - if a restore operation is in progress
RTIinternalError - if an internal error occurred in the run-time infrastructure

HLAreflectionProxy

protected HLAreflectionProxy(RTIambassador pRTIAmbassador,
                             ObjectClassHandle pClassHandle,
                             java.lang.String pName)
                      throws ObjectClassNotDefined,
                             ObjectClassNotPublished,
                             IllegalName,
                             ObjectInstanceNameInUse,
                             FederateNotExecutionMember,
                             SaveInProgress,
                             RestoreInProgress,
                             RTIinternalError
Constructor for object instance proxies created to represent new locally owned objects. Automatically notifies the run-time infrastructure.

Parameters:
pRTIAmbassador - the run-time infrastructure ambassador
pClassHandle - the object class handle
pName - the object name
Throws:
ObjectClassNotDefined - if the specified object class is not defined
ObjectClassNotPublished - if the specified object class is not published
IllegalName - if the instance name has is illegal
ObjectInstanceNameInUse - if the instance name is already in use
FederateNotExecutionMember - if the federate is not a member of an execution
SaveInProgress - if a save operation is in progress
RestoreInProgress - if a restore operation is in progress
RTIinternalError - if an internal error occurred in the run-time infrastructure
Method Detail

reflectAttributeValues

public void reflectAttributeValues(AttributeHandleValueMap theAttributes,
                                   byte[] userSuppliedTag,
                                   OrderType sentOrdering,
                                   TransportationType theTransport)
                            throws AttributeNotRecognized,
                                   AttributeNotSubscribed,
                                   FederateInternalError
Notifies the proxy of changes to the state of an object instance.

Overrides:
reflectAttributeValues in class HLAobjectRootProxy
Parameters:
theAttributes - the map between attribute handles and the new values of the identified attributes
userSuppliedTag - a user-supplied tag associated with the state change
sentOrdering - the type of ordering with which the update was sent
theTransport - the type of transport associated with the update
Throws:
AttributeNotRecognized - if the attribute was not recognized
AttributeNotSubscribed - if the federate had not subscribed to the attribute
FederateInternalError - if an error occurs in the federate

provideAttributeValueUpdate

public void provideAttributeValueUpdate(AttributeHandleSet theAttributes,
                                        byte[] userSuppliedTag)
                                 throws AttributeNotRecognized,
                                        AttributeNotOwned,
                                        FederateInternalError
Notifies the proxy that it should provide an update regarding a set of object attributes.

Overrides:
provideAttributeValueUpdate in class HLAobjectRootProxy
Parameters:
theAttributes - the set of attribute handles identifying the attributes that should be sent
userSuppliedTag - the user-supplied tag associated with the request
Throws:
AttributeNotRecognized - if an identified attribute was not recognized
AttributeNotOwned - if the federate did not own a specified attribute
FederateInternalError - if an error occurs in the federate

getAttributeValuesToFlush

protected void getAttributeValuesToFlush(AttributeHandleValueMap ahvm,
                                         boolean superFlush)
                                  throws RTIinternalError
Places the attribute values to flush into the specified map.

Overrides:
getAttributeValuesToFlush in class HLAobjectRootProxy
Parameters:
ahvm - the attribute handle value map to populate
superFlush - if true provide updates for all attributes; if false, only provide updates for the modified ones
Throws:
RTIinternalError - if an internal error occurs in the run-time infrastructure

addHLAreflectionListener

public void addHLAreflectionListener(HLAreflectionListener l)
Adds a listener for attributes associated with the HLAreflection class.

Specified by:
addHLAreflectionListener in interface HLAreflection
Parameters:
l - the listener to remove

removeHLAreflectionListener

public void removeHLAreflectionListener(HLAreflectionListener l)
Removes a listener for attributes associated with the HLAreflection class.

Specified by:
removeHLAreflectionListener in interface HLAreflection
Parameters:
l - the listener to remove

setName

public void setName(java.lang.String pName,
                    byte[] userSuppliedTag)
             throws ObjectInstanceNotKnown,
                    AttributeNotDefined,
                    AttributeNotOwned,
                    FederateNotExecutionMember,
                    SaveInProgress,
                    RestoreInProgress,
                    RTIinternalError
Sets the value of the name attribute.

Specified by:
setName in interface HLAreflection
Parameters:
pName - the new attribute value
userSuppliedTag - a user-supplied tag to associate with the action
Throws:
ObjectInstanceNotKnown - if the object instance is unknown
AttributeNotDefined - if one of the attributes is undefined
AttributeNotOwned - if one of the attributes is not owned
FederateNotExecutionMember - if the federate is not a member of an execution
SaveInProgress - if a save operation is in progress
RestoreInProgress - if a restore operation is in progress
RTIinternalError - if an internal error occurred in the run-time infrastructure

getName

public java.lang.String getName()
Returns the value of the name attribute.

Specified by:
getName in interface HLAreflection
Overrides:
getName in class ObjectInstanceProxy
Returns:
the current attribute value