org.eodisp.hla.common.crc
Interface FederationExecutionRemote

All Superinterfaces:
java.rmi.Remote
All Known Implementing Classes:
FederationExecutionRemoteImpl

public interface FederationExecutionRemote
extends java.rmi.Remote

Remote interface of a federation execution.

Version:
$Id:$
Author:
ibirrer

Method Summary
 AttributeHandle getAttributeHandle(ObjectClassHandle objectClassHandle, java.lang.String theName)
          Implements HLA service 10.4 (See IEEE Std 1516.1-2000).
 java.lang.String getAttributeName(ObjectClassHandle whichClass, AttributeHandle theHandle)
          Implements HLA service 10.5 (See IEEE Std 1516.1-2000).
 InteractionClassHandle getInteractionClassHandle(java.lang.String theName)
          Implements HLA service 10.6 (See IEEE Std 1516.1-2000).
 java.lang.String getInteractionClassName(InteractionClassHandle theHandle)
          Implements HLA service 10.7 (See IEEE Std 1516.1-2000).
 int getJoinedFederates()
          Returns the number of currently joined federates.
 ObjectClassHandle getKnownObjectClassHandle(ObjectInstanceHandle theObject)
          Implements HLA service 10.16 (See IEEE Std 1516.1-2000).
 ObjectClassHandle getObjectClassHandle(java.lang.String theName)
          Implements HLA service 10.2 (See IEEE Std 1516.1-2000).
 java.lang.String getObjectClassName(ObjectClassHandle theHandle)
          Implements HLA service 10.3 (See IEEE Std 1516.1-2000).
 ObjectInstanceHandle getObjectInstanceHandle(java.lang.String theName)
          Implements HLA service 10.10 (See IEEE Std 1516.1-2000).
 java.lang.String getObjectInstanceName(ObjectInstanceHandle theHandle)
          Implements HLA service 10.11 (See IEEE Std 1516.1-2000).
 ParameterHandle getParameterHandle(InteractionClassHandle whichClass, java.lang.String theName)
          Implements HLA service 10.8 (See IEEE Std 1516.1-2000).
 java.lang.String getParameterName(InteractionClassHandle whichClass, ParameterHandle theHandle)
          Implements HLA service 10.9 (See IEEE Std 1516.1-2000).
 java.util.Map<LrcRemote,java.util.Set<FederateHandle>> getSubscriptions(InteractionClassHandle interactionClassHandle, FederateHandle askingFederate)
          Implements part of the HLA service 6.17 (See IEEE Std 1516.1-2000).
 java.util.Map<LrcRemote,java.util.Map<FederateHandle,AttributeHandle[]>> getSubscriptions(ObjectInstanceHandle objectInstanceHandle, AttributeHandle[] attributeHandles, FederateHandle askingFederateHandle)
          Implements part of the HLA service 6.6 (See IEEE Std 1516.1-2000).
 void publishInteractionClass(InteractionClassHandle interactionClassHandle, FederateHandle federateHandle)
          Implements HLA service 5.4 (See IEEE Std 1516.1-2000).
 void publishObjectClassAttributes(ObjectClassHandle theClass, AttributeHandle[] attributeHandles, FederateHandle federateHandle)
          Implements HLA service 5.2 (See IEEE Std 1516.1-2000).
 void registerFederationSynchronizationPoint(java.lang.String synchronizationPointLabel, byte[] userSuppliedTag, FederateHandle askingFederate)
          Implements HLA service 4.6 (See IEEE Std 1516.1-2000).
 void registerFederationSynchronizationPoint(java.lang.String synchronizationPointLabel, byte[] userSuppliedTag, FederateHandle[] handles, FederateHandle askingFederate)
          Implements HLA service 4.6 (See IEEE Std 1516.1-2000).
 ObjectInstanceHandle registerObjectInstance(ObjectClassHandle objectClassHandle, FederateHandle federateHandle)
          Implements HLA service 6.4 (See IEEE Std 1516.1-2000).
 ObjectInstanceHandle registerObjectInstance(ObjectClassHandle objectClassHandle, java.lang.String instanceName, FederateHandle federateHandle)
          Implements HLA service 6.4 (See IEEE Std 1516.1-2000).
 void requestAttributeValueUpdate(ObjectInstanceHandle objectInstanceHandle, AttributeHandle[] attributeHandles, byte[] userSuppliedTag)
          Implements HLA service 6.17 (See IEEE Std 1516.1-2000).
 void resign(ResignAction resignAction, FederateHandle federateHandle)
          Implements HLA service 4.6 (See IEEE Std 1516.1-2000).
 void subscribeInteractionClass(InteractionClassHandle interactionClassHandle, FederateHandle federateHandle)
          Implements HLA service 5.8 (See IEEE Std 1516.1-2000).
 void subscribeObjectClassAttributes(ObjectClassHandle objectClassHandle, AttributeHandle[] attributeHandles, FederateHandle federateHandle)
          Implements HLA service 5.6 (See IEEE Std 1516.1-2000).
 void synchronizationPointAchieved(java.lang.String synchronizationPointLabel, FederateHandle federateHandle)
          Implements HLA service 4.9 (See IEEE Std 1516.1-2000).
 void unpublishInteractionClass(InteractionClassHandle interactionClassHandle, FederateHandle federateHandle)
           
 void unpublishObjectClass(ObjectClassHandle theClass, FederateHandle federateHandle)
          Implements HLA service 5.3 (See IEEE Std 1516.1-2000).
 void unpublishObjectClassAttributes(ObjectClassHandle objectClassHandle, AttributeHandle[] attributeHandles, FederateHandle federateHandle)
          Implements HLA service 5.3 (See IEEE Std 1516.1-2000).
 void unsubscribeInteractionClass(InteractionClassHandle theClass, FederateHandle federateHandle)
          Implements HLA service 5.9 (See IEEE Std 1516.1-2000).
 void unsubscribeObjectClass(ObjectClassHandle theClass, FederateHandle federateHandle)
          Implements HLA service 5.7 (See IEEE Std 1516.1-2000).
 void unsubscribeObjectClassAttributes(ObjectClassHandle theClass, AttributeHandle[] attributeHandles, FederateHandle federateHandle)
          Implements HLA service 5.7 (See IEEE Std 1516.1-2000).
 

Method Detail

resign

void resign(ResignAction resignAction,
            FederateHandle federateHandle)
            throws OwnershipAcquisitionPending,
                   FederateOwnsAttributes,
                   FederateNotExecutionMember,
                   java.rmi.RemoteException
Implements HLA service 4.6 (See IEEE Std 1516.1-2000). Resign from this federation execution

Parameters:
resignAction - unused
federateHandle - the handle of the federate that shall be resigned
Throws:
OwnershipAcquisitionPending - not implemented
FederateOwnsAttributes - thrown if the federate still owns attributes
FederateNotExecutionMember - if the federate identified by the given handle is not currently joined to this federation execution
java.rmi.RemoteException - RMI remote exception happened while calling this method

registerFederationSynchronizationPoint

void registerFederationSynchronizationPoint(java.lang.String synchronizationPointLabel,
                                            byte[] userSuppliedTag,
                                            FederateHandle askingFederate)
                                            throws SaveInProgress,
                                                   RestoreInProgress,
                                                   FederateNotExecutionMember,
                                                   java.rmi.RemoteException
Implements HLA service 4.6 (See IEEE Std 1516.1-2000). Registers a new synchronization point for this federation execution

Parameters:
synchronizationPointLabel - the label of the new synchronization point
userSuppliedTag - user supplied tag
handles -
Throws:
SaveInProgress - no implemented
RestoreInProgress - not implemented
FederateNotExecutionMember - if the federate identified by the given handle is not currently joined to this federation execution
java.rmi.RemoteException - RMI remote exception happened while calling this method

registerFederationSynchronizationPoint

void registerFederationSynchronizationPoint(java.lang.String synchronizationPointLabel,
                                            byte[] userSuppliedTag,
                                            FederateHandle[] handles,
                                            FederateHandle askingFederate)
                                            throws SaveInProgress,
                                                   RestoreInProgress,
                                                   FederateNotExecutionMember,
                                                   java.rmi.RemoteException
Implements HLA service 4.6 (See IEEE Std 1516.1-2000). Registers a new synchronization point for this federation execution

Parameters:
synchronizationPointLabel - the label of the new synchronization point
userSuppliedTag - user supplied tag
handles -
Throws:
SaveInProgress - no implemented
RestoreInProgress - not implemented
java.rmi.RemoteException - RMI remote exception happened while calling this method
FederateNotExecutionMember

synchronizationPointAchieved

void synchronizationPointAchieved(java.lang.String synchronizationPointLabel,
                                  FederateHandle federateHandle)
                                  throws SynchronizationPointLabelNotAnnounced,
                                         SaveInProgress,
                                         RestoreInProgress,
                                         java.rmi.RemoteException
Implements HLA service 4.9 (See IEEE Std 1516.1-2000). Tells this federation execution that the given federate has achieved the synchronization point with the label synchronizationPointLabel.

Parameters:
synchronizationPointLabel - the label of the synchronization to be achieved
federateHandle - the handle of the federate that achieved the synchronization point
Throws:
SynchronizationPointLabelNotAnnounced - the synchronization point has never been announced, i.e. #registerFederationSynchronizationPoint(String, byte[]) was not called with the the synchronizationPointLabel given here.
SaveInProgress - no implemented
RestoreInProgress - not implemented
java.rmi.RemoteException - RMI remote exception happened while calling this method

getObjectClassHandle

ObjectClassHandle getObjectClassHandle(java.lang.String theName)
                                       throws NameNotFound,
                                              java.rmi.RemoteException
Implements HLA service 10.2 (See IEEE Std 1516.1-2000). Returns the object class handle of the object class with the given name.

Parameters:
theName - the fully qualified name of the object class.
Returns:
the object class handle of the object class with the given name
Throws:
NameNotFound - the FOM does not contain a class with this fully qualified name
java.rmi.RemoteException - RMI remote exception happened while calling this method

getObjectClassName

java.lang.String getObjectClassName(ObjectClassHandle theHandle)
                                    throws ObjectClassNotDefined,
                                           java.rmi.RemoteException
Implements HLA service 10.3 (See IEEE Std 1516.1-2000). Returns the fully qualified name of this object class. See section 10.1.1 in IEEE 1516.1-2000. Always starts with the string HLAobjectRoot.

Parameters:
theHandle - the object class handle for which the name shall be returned
Returns:
the fully qualified name of the object class identified by the given handle
Throws:
ObjectClassNotDefined - the given object class handle does not identify an object class of this federation execution.
java.rmi.RemoteException - RMI remote exception happened while calling this method

getAttributeHandle

AttributeHandle getAttributeHandle(ObjectClassHandle objectClassHandle,
                                   java.lang.String theName)
                                   throws ObjectClassNotDefined,
                                          NameNotFound,
                                          java.rmi.RemoteException
Implements HLA service 10.4 (See IEEE Std 1516.1-2000). Returns the attribute handle that is defined in the object class identified by the given object class handle and which name equals the given name.

Parameters:
objectClassHandle - the object class handle the attribute is defined in
theName - the name of the attribute for which the attribute handle shall be returned
Returns:
the attribute handle that is defined in the object class identified by the given object class handle and which name equals the given name.
Throws:
NameNotFound - there is no attribute defined with the given name in the object class identified by the given object class handle handle.
ObjectClassNotDefined - the given object class handle does not identify an object class of this federation execution.
java.rmi.RemoteException - RMI remote exception happened while calling this method

getAttributeName

java.lang.String getAttributeName(ObjectClassHandle whichClass,
                                  AttributeHandle theHandle)
                                  throws InvalidAttributeHandle,
                                         AttributeNotDefined,
                                         ObjectClassNotDefined,
                                         java.rmi.RemoteException
Implements HLA service 10.5 (See IEEE Std 1516.1-2000). Returns the name of the attribute identified by the given object class and attribute handle.

Parameters:
whichClass - the object class
theHandle - the handle of the attribute
Returns:
the name of the attribute identified by the given object class and attribute handle.
Throws:
InvalidAttributeHandle - the given attribute handle is not valid
AttributeNotDefined - the attribute is not defined for the class identified with the given object class handle
ObjectClassNotDefined - the given object class handle does not identify an object class of this federation execution.
java.rmi.RemoteException - RMI remote exception happened while calling this method

getInteractionClassHandle

InteractionClassHandle getInteractionClassHandle(java.lang.String theName)
                                                 throws NameNotFound,
                                                        java.rmi.RemoteException
Implements HLA service 10.6 (See IEEE Std 1516.1-2000). Returns the handle of the interaction class with the given fully qualified name

Parameters:
theName - the fully qualified name of the interaction for which the handle shall be returned.
Returns:
the handle of the interaction class with the given fully qualified name
Throws:
NameNotFound - no interaction class is defined in the FOM with the given name
java.rmi.RemoteException - RMI remote exception happened while calling this method

getInteractionClassName

java.lang.String getInteractionClassName(InteractionClassHandle theHandle)
                                         throws InteractionClassNotDefined,
                                                java.rmi.RemoteException
Implements HLA service 10.7 (See IEEE Std 1516.1-2000). Returns the name of the interaction class identified by the given handle.

Parameters:
theHandle - the interaction class handle for which the name shall be returned.
Returns:
the name of the interaction class identified by the given handle
Throws:
InteractionClassNotDefined - the given interaction class handle is not defined for this federation execution
java.rmi.RemoteException - RMI remote exception happened while calling this method

getParameterHandle

ParameterHandle getParameterHandle(InteractionClassHandle whichClass,
                                   java.lang.String theName)
                                   throws NameNotFound,
                                          InteractionClassNotDefined,
                                          java.rmi.RemoteException
Implements HLA service 10.8 (See IEEE Std 1516.1-2000). Returns the parameter handle of the parameter that is defined within the given interaction class and equals to the given name.

Parameters:
whichClass - the interaction class the parameter is defined in
theName - the name of the parameter
Returns:
the parameter handle of the parameter that is defined within the given interaction class and equals to the given name.
Throws:
InteractionClassNotDefined - the given interaction class handle is not defined for this federation execution
NameNotFound - the interaction class has not defined a parameter with the given name
java.rmi.RemoteException - RMI remote exception happened while calling this method

getParameterName

java.lang.String getParameterName(InteractionClassHandle whichClass,
                                  ParameterHandle theHandle)
                                  throws InvalidParameterHandle,
                                         InteractionParameterNotDefined,
                                         InteractionClassNotDefined,
                                         java.rmi.RemoteException
Implements HLA service 10.9 (See IEEE Std 1516.1-2000). Returns the fully qualified name of the parameter identified by the given interaction class handle and parameter handle.

Parameters:
whichClass - the interaction class handle containing the parameter
theHandle - the parameter handle for which the name shall be returned
Returns:
the fully qualified name of the parameter identified by the given interaction class handle and parameter handle.
Throws:
InvalidParameterHandle - the parameter has not been defined of is not valid
InteractionParameterNotDefined - the interaction class identified by the given interaction class handle has not defined a parameter with the given parameter handle.
InteractionClassNotDefined - the interaction class has not been defined in this federation execution
java.rmi.RemoteException - RMI remote exception happened while calling this method

getObjectInstanceHandle

ObjectInstanceHandle getObjectInstanceHandle(java.lang.String theName)
                                             throws ObjectInstanceNotKnown,
                                                    java.rmi.RemoteException
Implements HLA service 10.10 (See IEEE Std 1516.1-2000). Returns the object instance handle of the object instance that was registered with the given name.

Parameters:
theName - the name of the object instance for which the object instance handle shall be returned
Returns:
the object instance handle of the object instance that was registered with the given name
Throws:
ObjectInstanceNotKnown - no object instance was previously registered with the name given
java.rmi.RemoteException - RMI remote exception happened while calling this method
See Also:
RTIambassador.registerObjectInstance(ObjectClassHandle, String)

getObjectInstanceName

java.lang.String getObjectInstanceName(ObjectInstanceHandle theHandle)
                                       throws ObjectInstanceNotKnown,
                                              java.rmi.RemoteException
Implements HLA service 10.11 (See IEEE Std 1516.1-2000). Returns the name of the object instance identified by the given object instance handle.

Parameters:
theHandle - the handle identifying the object instance for which the name shall be returned
Returns:
the name of the object instance identified by the given object instance handle.
Throws:
ObjectInstanceNotKnown - the object instance handle is not valid
java.rmi.RemoteException - RMI remote exception happened while calling this method

getKnownObjectClassHandle

ObjectClassHandle getKnownObjectClassHandle(ObjectInstanceHandle theObject)
                                            throws ObjectInstanceNotKnown,
                                                   java.rmi.RemoteException
Implements HLA service 10.16 (See IEEE Std 1516.1-2000). Returns the object class handle of the object instance identified by the given object instance handle. This is the object class given when the object instance was registered.

Parameters:
theObject - the object instance handle identifying the object instance for which its object class shall be returned
Returns:
the object class handle of the object instance identified by the given object instance handle
Throws:
ObjectInstanceNotKnown - the given object instance is not valid
java.rmi.RemoteException - RMI remote exception happened while calling this method

publishObjectClassAttributes

void publishObjectClassAttributes(ObjectClassHandle theClass,
                                  AttributeHandle[] attributeHandles,
                                  FederateHandle federateHandle)
                                  throws ObjectClassNotDefined,
                                         AttributeNotDefined,
                                         FederateNotExecutionMember,
                                         SaveInProgress,
                                         RestoreInProgress,
                                         InvalidFederateHandle,
                                         InvalidAttributeHandle,
                                         java.rmi.RemoteException,
                                         InvalidObjectClassHandle
Implements HLA service 5.2 (See IEEE Std 1516.1-2000). Adds the given attributes to the published attributes of the given federate.

Parameters:
theClass - the object class the attributes are defined in
attributeHandles - a list of attributes to be added to the published attributes of the given federate
federateHandle - the handle of the federate that publishes the given attributes
Throws:
ObjectClassNotDefined - the object class given by the object class handle is not defined in the FOM of this federation execution
AttributeNotDefined - one or more of the attributes are not defined in the given object class
FederateNotExecutionMember - the federate identified with the given federate handle is not joined tho this federation execution
SaveInProgress - not implemented
RestoreInProgress - not implemented
java.rmi.RemoteException - RMI remote exception happened while calling this method
InvalidAttributeHandle
InvalidFederateHandle
InvalidObjectClassHandle

unpublishObjectClass

void unpublishObjectClass(ObjectClassHandle theClass,
                          FederateHandle federateHandle)
                          throws ObjectClassNotDefined,
                                 FederateNotExecutionMember,
                                 java.rmi.RemoteException
Implements HLA service 5.3 (See IEEE Std 1516.1-2000). Remove all attributes of the given class from the published attributes of the given federate.

Parameters:
theClass - the object class that contains the attributes which shall be removed from the published attributes
federateHandle - the handle of the federate that shall unpublish the given attributes
Throws:
ObjectClassNotDefined - the object class given by the object class handle is not defined in the FOM of this federation execution
OwnershipAcquisitionPending - not implemented
FederateNotExecutionMember - the federate identified with the given federate handle is not joined tho this federation execution
SaveInProgress - not implemented
RestoreInProgress - not implemented
java.rmi.RemoteException - RMI remote exception happened while calling this method

unpublishObjectClassAttributes

void unpublishObjectClassAttributes(ObjectClassHandle objectClassHandle,
                                    AttributeHandle[] attributeHandles,
                                    FederateHandle federateHandle)
                                    throws ObjectClassNotDefined,
                                           AttributeNotDefined,
                                           FederateNotExecutionMember,
                                           InvalidAttributeHandle,
                                           java.rmi.RemoteException
Implements HLA service 5.3 (See IEEE Std 1516.1-2000). Un-publishes the given attributes at the given federate.

Parameters:
objectClassHandle - the object class that defines the given attributes
attributeList - the attributes to be un-published
federateHandle - the federate that un-publishes the given attributes
Throws:
ObjectClassNotDefined - if the given object class is not defined in the FOM of this federation executoin
AttributeNotDefined - if one of the attributes is not defined
FederateNotExecutionMember - if the given federat is not joined to this federation execution
InvalidAttributeHandle - if one of the attributes is not valid
java.rmi.RemoteException - RMI remote exception happened while calling this method

publishInteractionClass

void publishInteractionClass(InteractionClassHandle interactionClassHandle,
                             FederateHandle federateHandle)
                             throws InteractionClassNotDefined,
                                    FederateNotExecutionMember,
                                    SaveInProgress,
                                    RestoreInProgress,
                                    java.rmi.RemoteException
Implements HLA service 5.4 (See IEEE Std 1516.1-2000). Adds the given interaction class to the published interactions of the given federate

Parameters:
interactionClassHandle - the interaction to be added to the to the published interactions of the given federate
federateHandle - the handle of the federate that wants to publish the given interaction
Throws:
InteractionClassNotDefined - the interaction class given by the interaction class handle is not defined in the FOM of this federation execution
FederateNotExecutionMember - the federate identified with the given federate handle is not joined tho this federation execution
SaveInProgress - not implemented
RestoreInProgress - not implemented
java.rmi.RemoteException - RMI remote exception happened while calling this method

unpublishInteractionClass

void unpublishInteractionClass(InteractionClassHandle interactionClassHandle,
                               FederateHandle federateHandle)
                               throws InteractionClassNotDefined,
                                      FederateNotExecutionMember,
                                      SaveInProgress,
                                      RestoreInProgress,
                                      java.rmi.RemoteException
Throws:
InteractionClassNotDefined
FederateNotExecutionMember
SaveInProgress
RestoreInProgress
java.rmi.RemoteException

subscribeObjectClassAttributes

void subscribeObjectClassAttributes(ObjectClassHandle objectClassHandle,
                                    AttributeHandle[] attributeHandles,
                                    FederateHandle federateHandle)
                                    throws ObjectClassNotDefined,
                                           AttributeNotDefined,
                                           FederateNotExecutionMember,
                                           InvalidAttributeHandle,
                                           java.rmi.RemoteException
Implements HLA service 5.6 (See IEEE Std 1516.1-2000). Subscribes the given federate with the given object class attributes.

Parameters:
objectClassHandle - the object class the attributes are defined in
attributeHandles - the object class attributes that the given federate shall be subscribed to
federateHandle - the federate that shall subscribe to the given object class attributes
Throws:
ObjectClassNotDefined - the object class given by the object class handle is not defined in the FOM of this federation execution
AttributeNotDefined - one or more of the attributes are not defined in the given object class
FederateNotExecutionMember - the federate identified with the given federate handle is not joined tho this federation execution
InvalidAttributeHandle - the given attribute handle is not valid
java.rmi.RemoteException - RMI remote exception happened while calling this method

unsubscribeObjectClassAttributes

void unsubscribeObjectClassAttributes(ObjectClassHandle theClass,
                                      AttributeHandle[] attributeHandles,
                                      FederateHandle federateHandle)
                                      throws ObjectClassNotDefined,
                                             AttributeNotDefined,
                                             FederateNotExecutionMember,
                                             SaveInProgress,
                                             RestoreInProgress,
                                             InvalidAttributeHandle,
                                             java.rmi.RemoteException
Implements HLA service 5.7 (See IEEE Std 1516.1-2000). Unsubscribes the given federate from the given object class attributes.

Parameters:
theClass - the object class the attributes are defined in
attributeHandles - the object class attributes that the given federate shall be unsubscribed from
federateHandle - the federate that shall unsubscribe from the given object class attributes
Throws:
ObjectClassNotDefined - the object class given by the object class handle is not defined in the FOM of this federation execution
AttributeNotDefined - one or more of the attributes are not defined in the given object class
FederateNotExecutionMember - the federate identified with the given federate handle is not joined tho this federation execution
SaveInProgress - not implemented
RestoreInProgress - not implemented
InvalidAttributeHandle - If one of the attribute handles given is not valid
java.rmi.RemoteException - RMI remote exception happened while calling this method

unsubscribeObjectClass

void unsubscribeObjectClass(ObjectClassHandle theClass,
                            FederateHandle federateHandle)
                            throws ObjectClassNotDefined,
                                   FederateNotExecutionMember,
                                   java.rmi.RemoteException
Implements HLA service 5.7 (See IEEE Std 1516.1-2000). Unsubscribes the given federate from all attributes defined in the given object class

Parameters:
theClass - the object class the attributes are defined in
federateHandle - the federate that shall unsubscribe from the given object class attributes
Throws:
ObjectClassNotDefined - the object class given by the object class handle is not defined in the FOM of this federation execution
FederateNotExecutionMember - the federate identified with the given federate handle is not joined tho this federation execution
SaveInProgress - not implemented
RestoreInProgress - not implemented
java.rmi.RemoteException - RMI remote exception happened while calling this method

subscribeInteractionClass

void subscribeInteractionClass(InteractionClassHandle interactionClassHandle,
                               FederateHandle federateHandle)
                               throws InteractionClassNotDefined,
                                      FederateServiceInvocationsAreBeingReportedViaMOM,
                                      FederateNotExecutionMember,
                                      java.rmi.RemoteException
Implements HLA service 5.8 (See IEEE Std 1516.1-2000). Subscribes the given federate to the given interaction class.

Parameters:
interactionClassHandle - the interaction class handle to be subscribed to
federateHandle - the federate that subscribes to the interaction class
Throws:
InteractionClassNotDefined - if the interfaction class is not defined in the FOM of this federation execution
FederateServiceInvocationsAreBeingReportedViaMOM
FederateNotExecutionMember - the federate identified with the given federate handle is not joined tho this federation execution
java.rmi.RemoteException - RMI remote exception happened while calling this method

unsubscribeInteractionClass

void unsubscribeInteractionClass(InteractionClassHandle theClass,
                                 FederateHandle federateHandle)
                                 throws InteractionClassNotDefined,
                                        FederateNotExecutionMember,
                                        SaveInProgress,
                                        RestoreInProgress,
                                        java.rmi.RemoteException
Implements HLA service 5.9 (See IEEE Std 1516.1-2000). Unsubscribes the given federate from the given interaction class.

Parameters:
theClass - the interaction class the given federate shall be subscribed to
federateHandle - the federate that shall be subscribed to the given interaction class
Throws:
InteractionClassNotDefined - the interaction class given by the interaction class handle is not defined in the FOM of this federation execution
FederateNotExecutionMember - the federate identified with the given federate handle is not joined tho this federation execution
SaveInProgress - not implemented
RestoreInProgress - not implemented
java.rmi.RemoteException - RMI remote exception happened while calling this method

registerObjectInstance

ObjectInstanceHandle registerObjectInstance(ObjectClassHandle objectClassHandle,
                                            FederateHandle federateHandle)
                                            throws ObjectClassNotDefined,
                                                   ObjectClassNotPublished,
                                                   FederateNotExecutionMember,
                                                   java.rmi.RemoteException,
                                                   InvalidObjectClassHandle
Implements HLA service 6.4 (See IEEE Std 1516.1-2000). Registers a new object instance of the given object class with the given federate.

Parameters:
objectClassHandle - the object class of the instance to be registered.
federateHandle - the federate that registers the new instance
Returns:
a handle to the newly registered instance
Throws:
ObjectClassNotDefined - the object class given by the object class handle is not defined in the FOM of this federation execution
ObjectClassNotPublished - the federate (given with the federate handle) does not publish the given object class and can therefore not register an instance
FederateNotExecutionMember - the federate identified with the given federate handle is not joined tho this federation execution
java.rmi.RemoteException - RMI remote exception happened while calling this method
InvalidObjectClassHandle

registerObjectInstance

ObjectInstanceHandle registerObjectInstance(ObjectClassHandle objectClassHandle,
                                            java.lang.String instanceName,
                                            FederateHandle federateHandle)
                                            throws ObjectClassNotDefined,
                                                   ObjectClassNotPublished,
                                                   ObjectInstanceNameNotReserved,
                                                   ObjectInstanceNameInUse,
                                                   FederateNotExecutionMember,
                                                   SaveInProgress,
                                                   RestoreInProgress,
                                                   java.rmi.RemoteException
Implements HLA service 6.4 (See IEEE Std 1516.1-2000). Registers a new object instance of the given object class with the given federate and the given name.

Throws:
ObjectClassNotDefined - the object class given by the object class handle is not defined in the FOM of this federation execution
ObjectClassNotPublished - the federate (given with the federate handle) does not publish the given object class and can therefore not register an instance
ObjectInstanceNameNotReserved - The object instance name was not reserved.
ObjectInstanceNameInUse - the object instance name was already coadunated with another object instance
FederateNotExecutionMember - the federate identified with the given federate handle is not joined tho this federation execution
java.rmi.RemoteException - RMI remote exception happened while calling this method
InvalidObjectClassHandle
SaveInProgress
RestoreInProgress

getSubscriptions

java.util.Map<LrcRemote,java.util.Map<FederateHandle,AttributeHandle[]>> getSubscriptions(ObjectInstanceHandle objectInstanceHandle,
                                                                                          AttributeHandle[] attributeHandles,
                                                                                          FederateHandle askingFederateHandle)
                                                                                          throws AttributeNotDefined,
                                                                                                 AttributeNotOwned,
                                                                                                 FederateNotExecutionMember,
                                                                                                 InvalidAttributeHandle,
                                                                                                 ObjectInstanceNotKnown,
                                                                                                 java.rmi.RemoteException
Implements part of the HLA service 6.6 (See IEEE Std 1516.1-2000). This method does two things at once, it searches and returns the federates which are subscribed to at least one of the given attributes and checks if the federate identified by the given federate handle parameter owns all the attributes of the given object instance. This is due to performance reasons, i.e. it avoids two remote method calls. Note that subscriptions made by the asking federates are not included in the result.

Parameters:
objectInstanceHandle - the object instance handle of the attributes to checked for ownership.
attributeHandles - the attribute handles to be checked for subscribed federates.
askingFederateHandle - the federate asking for the subscribed federates
Returns:
A map that contains all federate han TODO
Throws:
AttributeNotDefined - one or more of the attributes in the attribute value map are not defined in the class of the instance
AttributeNotOwned - one or more of the attributes in the attribute value map are not owned by the given federate
FederateNotExecutionMember - the federate identified with the given federate handle is not joined tho this federation execution
ObjectInstanceNotKnown - if the given object instance handle is not identifying a registered object instance of this federation execution
InvalidAttributeHandle - If one of the attribute handles given is not valid
java.rmi.RemoteException - RMI remote exception happened while calling this method

getSubscriptions

java.util.Map<LrcRemote,java.util.Set<FederateHandle>> getSubscriptions(InteractionClassHandle interactionClassHandle,
                                                                        FederateHandle askingFederate)
                                                                        throws InteractionClassNotDefined,
                                                                               InteractionClassNotPublished,
                                                                               FederateNotExecutionMember,
                                                                               java.rmi.RemoteException
Implements part of the HLA service 6.17 (See IEEE Std 1516.1-2000). This method does two things at once, it searches and returns the federates which are subscribed to the given interaction class and checks if the federate identified by the given federate handle parameter publishes the given interaction class. This is due to performance reasons, i.e. it avoids two remote method calls. Note that subscriptions made by the asking federates are not included in the result.

Parameters:
interactionClassHandle - the interaction class handle to be checked for subscribed federates
federateHandle - the federate asking for the subscribed federates
Throws:
InteractionClassNotDefined - the given interaction class is not defined in the FOM of this federation execution
InteractionClassNotDefined - the given interaction class is not published by the given federate
FederateNotExecutionMember - the federate identified with the given federate handle is not joined tho this federation execution
java.rmi.RemoteException - RMI remote exception happened while calling this method
InteractionClassNotPublished

requestAttributeValueUpdate

void requestAttributeValueUpdate(ObjectInstanceHandle objectInstanceHandle,
                                 AttributeHandle[] attributeHandles,
                                 byte[] userSuppliedTag)
                                 throws ObjectInstanceNotKnown,
                                        AttributeNotDefined,
                                        SaveInProgress,
                                        RestoreInProgress,
                                        java.rmi.RemoteException
Implements HLA service 6.17 (See IEEE Std 1516.1-2000). Requests that the federate(s) owning the given attributes on the given instance to update the values.

Parameters:
objectInstanceHandle - the object instance handle for which updates shall be provided
attributeHandles - the attributes for which updates shall be provided
userSuppliedTag - user supplied tag (delivered as is to the applicable federates)
Throws:
ObjectInstanceNotKnown - the object instance has not been register previously
AttributeNotDefined - on or more of the given attributes are not defined for the object class of the given object instance
SaveInProgress - not implemented
RestoreInProgress - not implemented
java.rmi.RemoteException - RMI remote exception happened while calling this method
See Also:
LrcRemote.provideAttributeValueUpdate(ObjectInstanceHandle, AttributeHandleSet, byte[], FederateHandle[], String)

getJoinedFederates

int getJoinedFederates()
                       throws java.rmi.RemoteException
Returns the number of currently joined federates.

Returns:
the number of currently joined federates.
Throws:
java.rmi.RemoteException