org.npsnet.xrti.proxies
Class HLAobjectClassProxy

java.lang.Object
  extended byorg.npsnet.xrti.utilities.ObjectInstanceProxy
      extended byorg.npsnet.xrti.proxies.HLAobjectRootProxy
          extended byorg.npsnet.xrti.proxies.HLAreflectionProxy
              extended byorg.npsnet.xrti.proxies.HLAobjectClassProxy
All Implemented Interfaces:
HLAobjectClass, HLAobjectRoot, HLAreflection

public class HLAobjectClassProxy
extends HLAreflectionProxy
implements HLAobjectClass

Represents an HLA object class.

Author:
org.npsnet.xrti.utilities.ProxyCompiler

Field Summary
private  long[] attributes
          The handles of the object attributes.
private  AttributeHandle attributesHandle
          The handle of the attributes attribute.
private  boolean attributesIsDirty
          Whether or not the attributes attribute has changed.
private  boolean attributesIsValid
          Whether or not the attributes attribute has been set.
private  java.util.Vector HLAobjectClassListeners
          Listeners for attributes associated with the HLAobjectClass class.
private  java.lang.String parents
          The parents of the object class.
private  AttributeHandle parentsHandle
          The handle of the parents attribute.
private  boolean parentsIsDirty
          Whether or not the parents attribute has changed.
private  boolean parentsIsValid
          Whether or not the parents attribute has been set.
private  java.lang.String semantics
          The object semantics.
private  AttributeHandle semanticsHandle
          The handle of the semantics attribute.
private  boolean semanticsIsDirty
          Whether or not the semantics attribute has changed.
private  boolean semanticsIsValid
          Whether or not the semantics attribute has been set.
private  HLAsharingType sharing
          The types of sharing permitted on the object.
private  AttributeHandle sharingHandle
          The handle of the sharing attribute.
private  boolean sharingIsDirty
          Whether or not the sharing attribute has changed.
private  boolean sharingIsValid
          Whether or not the sharing attribute has been set.
 
Fields inherited from class org.npsnet.xrti.proxies.HLAreflectionProxy
 
Fields inherited from class org.npsnet.xrti.proxies.HLAobjectRootProxy
 
Fields inherited from class org.npsnet.xrti.utilities.ObjectInstanceProxy
autoFlushDisabled, classHandle, deleted, instanceHandle, rtiAmbassador
 
Constructor Summary
protected HLAobjectClassProxy(RTIambassador pRTIAmbassador, ObjectClassHandle pClassHandle)
          Constructor for object instance proxies created to represent new locally owned objects.
protected HLAobjectClassProxy(RTIambassador pRTIAmbassador, ObjectClassHandle pClassHandle, java.lang.String pName)
          Constructor for object instance proxies created to represent new locally owned objects.
protected HLAobjectClassProxy(RTIambassador pRTIAmbassador, ObjectInstanceHandle pInstanceHandle, ObjectClassHandle pClassHandle, java.lang.String pName)
          Constructor for object instance proxies created in response to discovered objects.
 
Method Summary
 void addHLAobjectClassListener(HLAobjectClassListener l)
          Adds a listener for attributes associated with the HLAobjectClass class.
 long[] getAttributes()
          Returns the value of the attributes attribute.
protected  void getAttributeValuesToFlush(AttributeHandleValueMap ahvm, boolean superFlush)
          Places the attribute values to flush into the specified map.
 java.lang.String getParents()
          Returns the value of the parents attribute.
 java.lang.String getSemantics()
          Returns the value of the semantics attribute.
 HLAsharingType getSharing()
          Returns the value of the sharing attribute.
private  void initializeAttributes()
          Initializes the attributes and their handles.
 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 removeHLAobjectClassListener(HLAobjectClassListener l)
          Removes a listener for attributes associated with the HLAobjectClass class.
 void setAttributes(long[] pAttributes, byte[] userSuppliedTag)
          Sets the value of the attributes attribute.
 void setParents(java.lang.String pParents, byte[] userSuppliedTag)
          Sets the value of the parents attribute.
 void setSemantics(java.lang.String pSemantics, byte[] userSuppliedTag)
          Sets the value of the semantics attribute.
 void setSharing(HLAsharingType pSharing, byte[] userSuppliedTag)
          Sets the value of the sharing attribute.
 
Methods inherited from class org.npsnet.xrti.proxies.HLAreflectionProxy
addHLAreflectionListener, getName, removeHLAreflectionListener, setName
 
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.HLAreflection
addHLAreflectionListener, getName, removeHLAreflectionListener, setName
 
Methods inherited from interface org.npsnet.xrti.proxies.HLAobjectRoot
addHLAobjectRootListener, removeHLAobjectRootListener
 

Field Detail

HLAobjectClassListeners

private java.util.Vector HLAobjectClassListeners
Listeners for attributes associated with the HLAobjectClass class.


parentsHandle

private AttributeHandle parentsHandle
The handle of the parents attribute.


parentsIsValid

private boolean parentsIsValid
Whether or not the parents attribute has been set.


parentsIsDirty

private boolean parentsIsDirty
Whether or not the parents attribute has changed.


parents

private java.lang.String parents
The parents of the object class.


sharingHandle

private AttributeHandle sharingHandle
The handle of the sharing attribute.


sharingIsValid

private boolean sharingIsValid
Whether or not the sharing attribute has been set.


sharingIsDirty

private boolean sharingIsDirty
Whether or not the sharing attribute has changed.


sharing

private HLAsharingType sharing
The types of sharing permitted on the object.


attributesHandle

private AttributeHandle attributesHandle
The handle of the attributes attribute.


attributesIsValid

private boolean attributesIsValid
Whether or not the attributes attribute has been set.


attributesIsDirty

private boolean attributesIsDirty
Whether or not the attributes attribute has changed.


attributes

private long[] attributes
The handles of the object attributes.


semanticsHandle

private AttributeHandle semanticsHandle
The handle of the semantics attribute.


semanticsIsValid

private boolean semanticsIsValid
Whether or not the semantics attribute has been set.


semanticsIsDirty

private boolean semanticsIsDirty
Whether or not the semantics attribute has changed.


semantics

private java.lang.String semantics
The object semantics.

Constructor Detail

HLAobjectClassProxy

protected HLAobjectClassProxy(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

HLAobjectClassProxy

protected HLAobjectClassProxy(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

HLAobjectClassProxy

protected HLAobjectClassProxy(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

initializeAttributes

private void initializeAttributes()
                           throws InvalidObjectClassHandle,
                                  NameNotFound,
                                  ObjectClassNotDefined,
                                  AttributeNotDefined,
                                  FederateNotExecutionMember,
                                  SaveInProgress,
                                  RestoreInProgress,
                                  RTIinternalError
Initializes the attributes and their handles.

Throws:
InvalidObjectClassHandle - if an object class handle is invalid
NameNotFound - if a name is not found
ObjectClassNotDefined - if an object class is not defined
AttributeNotDefined - if an attribute is not defined
FederateNotExecutionMember - if the federate is not an execution member
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

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 HLAreflectionProxy
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 HLAreflectionProxy
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 HLAreflectionProxy
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

addHLAobjectClassListener

public void addHLAobjectClassListener(HLAobjectClassListener l)
Adds a listener for attributes associated with the HLAobjectClass class.

Specified by:
addHLAobjectClassListener in interface HLAobjectClass
Parameters:
l - the listener to remove

removeHLAobjectClassListener

public void removeHLAobjectClassListener(HLAobjectClassListener l)
Removes a listener for attributes associated with the HLAobjectClass class.

Specified by:
removeHLAobjectClassListener in interface HLAobjectClass
Parameters:
l - the listener to remove

setParents

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

Specified by:
setParents in interface HLAobjectClass
Parameters:
pParents - 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

getParents

public java.lang.String getParents()
Returns the value of the parents attribute.

Specified by:
getParents in interface HLAobjectClass
Returns:
the current attribute value

setSharing

public void setSharing(HLAsharingType pSharing,
                       byte[] userSuppliedTag)
                throws ObjectInstanceNotKnown,
                       AttributeNotDefined,
                       AttributeNotOwned,
                       FederateNotExecutionMember,
                       SaveInProgress,
                       RestoreInProgress,
                       RTIinternalError
Sets the value of the sharing attribute.

Specified by:
setSharing in interface HLAobjectClass
Parameters:
pSharing - 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

getSharing

public HLAsharingType getSharing()
Returns the value of the sharing attribute.

Specified by:
getSharing in interface HLAobjectClass
Returns:
the current attribute value

setAttributes

public void setAttributes(long[] pAttributes,
                          byte[] userSuppliedTag)
                   throws ObjectInstanceNotKnown,
                          AttributeNotDefined,
                          AttributeNotOwned,
                          FederateNotExecutionMember,
                          SaveInProgress,
                          RestoreInProgress,
                          RTIinternalError
Sets the value of the attributes attribute.

Specified by:
setAttributes in interface HLAobjectClass
Parameters:
pAttributes - 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

getAttributes

public long[] getAttributes()
Returns the value of the attributes attribute.

Specified by:
getAttributes in interface HLAobjectClass
Returns:
the current attribute value

setSemantics

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

Specified by:
setSemantics in interface HLAobjectClass
Parameters:
pSemantics - 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

getSemantics

public java.lang.String getSemantics()
Returns the value of the semantics attribute.

Specified by:
getSemantics in interface HLAobjectClass
Returns:
the current attribute value