|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eodisp.hla.crc.FederationExecutionRemoteImpl
public class FederationExecutionRemoteImpl
Constructor Summary | |
---|---|
FederationExecutionRemoteImpl(FederationExecution federationExecution)
Constructor |
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 objectInstanceHandle)
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 objectInstanceHandle)
Implements HLA service 10.11 (See IEEE Std 1516.1-2000). |
ParameterHandle |
getParameterHandle(InteractionClassHandle interactionClassHandle,
java.lang.String theName)
Implements HLA service 10.8 (See IEEE Std 1516.1-2000). |
java.lang.String |
getParameterName(InteractionClassHandle interactionClassHandle,
ParameterHandle parameterHandle)
Implements HLA service 10.9 (See IEEE Std 1516.1-2000). |
java.util.Map<LrcRemote,java.util.Set<FederateHandle>> |
getSubscriptions(InteractionClassHandle interactionClassHandle,
FederateHandle federateHandle)
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[] synchronizationSet,
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 askingFederate)
Implements HLA service 4.9 (See IEEE Std 1516.1-2000). |
void |
unpublishInteractionClass(InteractionClassHandle interactionClassHandle,
FederateHandle federateHandle)
|
void |
unpublishObjectClass(ObjectClassHandle objectClassHandle,
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 interactionClassHandle,
FederateHandle federateHandle)
Implements HLA service 5.9 (See IEEE Std 1516.1-2000). |
void |
unsubscribeObjectClass(ObjectClassHandle objectClassHandle,
FederateHandle federateHandle)
Implements HLA service 5.7 (See IEEE Std 1516.1-2000). |
void |
unsubscribeObjectClassAttributes(ObjectClassHandle objectClassHandle,
AttributeHandle[] attributeHandles,
FederateHandle federateHandle)
Implements HLA service 5.7 (See IEEE Std 1516.1-2000). |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public FederationExecutionRemoteImpl(FederationExecution federationExecution)
Method Detail |
---|
public void resign(ResignAction resignAction, FederateHandle federateHandle) throws OwnershipAcquisitionPending, FederateOwnsAttributes, FederateNotExecutionMember
resign
in interface FederationExecutionRemote
resignAction
- unusedfederateHandle
- the handle of the federate that shall be resigned
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 executionpublic void registerFederationSynchronizationPoint(java.lang.String synchronizationPointLabel, byte[] userSuppliedTag, FederateHandle askingFederate) throws SaveInProgress, RestoreInProgress, FederateNotExecutionMember
registerFederationSynchronizationPoint
in interface FederationExecutionRemote
synchronizationPointLabel
- the label of the new synchronization pointuserSuppliedTag
- user supplied tag
FederateNotExecutionMember
SaveInProgress
- no implemented
RestoreInProgress
- not implementedpublic void registerFederationSynchronizationPoint(java.lang.String synchronizationPointLabel, byte[] userSuppliedTag, FederateHandle[] synchronizationSet, FederateHandle askingFederate) throws SaveInProgress, RestoreInProgress, FederateNotExecutionMember
FederationExecutionRemote
registerFederationSynchronizationPoint
in interface FederationExecutionRemote
synchronizationPointLabel
- the label of the new synchronization pointuserSuppliedTag
- user supplied tag
SaveInProgress
- no implemented
RestoreInProgress
- not implemented
FederateNotExecutionMember
public void synchronizationPointAchieved(java.lang.String synchronizationPointLabel, FederateHandle askingFederate) throws SynchronizationPointLabelNotAnnounced, SaveInProgress, RestoreInProgress
synchronizationPointLabel
.
synchronizationPointAchieved
in interface FederationExecutionRemote
synchronizationPointLabel
- the label of the synchronization to be achievedaskingFederate
- the handle of the federate that achieved the synchronization
point
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 implementedpublic ObjectClassHandle getObjectClassHandle(java.lang.String theName) throws NameNotFound
getObjectClassHandle
in interface FederationExecutionRemote
theName
- the fully qualified name of the object class.
NameNotFound
- the FOM does not contain a class with this fully qualified
namepublic java.lang.String getObjectClassName(ObjectClassHandle theHandle) throws ObjectClassNotDefined
HLAobjectRoot
.
getObjectClassName
in interface FederationExecutionRemote
theHandle
- the object class handle for which the name shall be returned
ObjectClassNotDefined
- the given object class handle does not identify an object
class of this federation execution.public AttributeHandle getAttributeHandle(ObjectClassHandle objectClassHandle, java.lang.String theName) throws ObjectClassNotDefined, NameNotFound
getAttributeHandle
in interface FederationExecutionRemote
objectClassHandle
- the object class handle the attribute is defined intheName
- the name of the attribute for which the attribute handle shall
be returned
ObjectClassNotDefined
- the given object class handle does not identify an object
class of this federation execution.
NameNotFound
- there is no attribute defined with the given name in the
object class identified by the given object class handle
handle.public java.lang.String getAttributeName(ObjectClassHandle whichClass, AttributeHandle theHandle) throws ObjectClassNotDefined, InvalidAttributeHandle, AttributeNotDefined
getAttributeName
in interface FederationExecutionRemote
whichClass
- the object classtheHandle
- the handle of the attribute
ObjectClassNotDefined
- the given object class handle does not identify an object
class of this federation execution.
InvalidAttributeHandle
- the given attribute handle is not valid
AttributeNotDefined
- the attribute is not defined for the class identified with
the given object class handlepublic InteractionClassHandle getInteractionClassHandle(java.lang.String theName) throws NameNotFound
getInteractionClassHandle
in interface FederationExecutionRemote
theName
- the fully qualified name of the interaction for which the
handle shall be returned.
NameNotFound
- no interaction class is defined in the FOM with the given
namepublic java.lang.String getInteractionClassName(InteractionClassHandle theHandle) throws InteractionClassNotDefined
getInteractionClassName
in interface FederationExecutionRemote
theHandle
- the interaction class handle for which the name shall be
returned.
InteractionClassNotDefined
- the given interaction class handle is not defined for this
federation executionpublic ParameterHandle getParameterHandle(InteractionClassHandle interactionClassHandle, java.lang.String theName) throws NameNotFound, InteractionClassNotDefined
getParameterHandle
in interface FederationExecutionRemote
interactionClassHandle
- the interaction class the parameter is defined intheName
- the name of the parameter
NameNotFound
- the interaction class has not defined a parameter with the
given name
InteractionClassNotDefined
- the given interaction class handle is not defined for this
federation executionpublic java.lang.String getParameterName(InteractionClassHandle interactionClassHandle, ParameterHandle parameterHandle) throws InteractionClassNotDefined, InteractionParameterNotDefined, InvalidParameterHandle
getParameterName
in interface FederationExecutionRemote
interactionClassHandle
- the interaction class handle containing the parameterparameterHandle
- the parameter handle for which the name shall be returned
InteractionClassNotDefined
- the interaction class has not been defined in this federation
execution
InteractionParameterNotDefined
- the interaction class identified by the given interaction
class handle has not defined a parameter with the given
parameter handle.
InvalidParameterHandle
- the parameter has not been defined of is not validpublic ObjectInstanceHandle getObjectInstanceHandle(java.lang.String theName) throws ObjectInstanceNotKnown
getObjectInstanceHandle
in interface FederationExecutionRemote
theName
- the name of the object instance for which the object instance
handle shall be returned
ObjectInstanceNotKnown
- no object instance was previously registered with the name
givenRTIambassador.registerObjectInstance(ObjectClassHandle, String)
public java.lang.String getObjectInstanceName(ObjectInstanceHandle objectInstanceHandle) throws ObjectInstanceNotKnown, java.rmi.RemoteException
getObjectInstanceName
in interface FederationExecutionRemote
objectInstanceHandle
- the handle identifying the object instance for which the name
shall be returned
ObjectInstanceNotKnown
- the object instance handle is not valid
java.rmi.RemoteException
- RMI remote exception happened while calling this methodpublic ObjectClassHandle getKnownObjectClassHandle(ObjectInstanceHandle objectInstanceHandle) throws ObjectInstanceNotKnown
getKnownObjectClassHandle
in interface FederationExecutionRemote
objectInstanceHandle
- the object instance handle identifying the object instance for
which its object class shall be returned
ObjectInstanceNotKnown
- the given object instance is not validpublic void publishObjectClassAttributes(ObjectClassHandle theClass, AttributeHandle[] attributeHandles, FederateHandle federateHandle) throws ObjectClassNotDefined, AttributeNotDefined, FederateNotExecutionMember, SaveInProgress, RestoreInProgress, InvalidFederateHandle, InvalidAttributeHandle, InvalidObjectClassHandle
publishObjectClassAttributes
in interface FederationExecutionRemote
theClass
- the object class the attributes are defined inattributeHandles
- a list of attributes to be added to the published attributes
of the given federatefederateHandle
- the handle of the federate that publishes the given attributes
InvalidAttributeHandle
InvalidFederateHandle
InvalidObjectClassHandle
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 implementedpublic void unpublishObjectClass(ObjectClassHandle objectClassHandle, FederateHandle federateHandle) throws ObjectClassNotDefined, FederateNotExecutionMember
unpublishObjectClass
in interface FederationExecutionRemote
objectClassHandle
- the object class that contains the attributes which shall be
removed from the published attributesfederateHandle
- the handle of the federate that shall unpublish the given
attributes
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 executionpublic void unpublishObjectClassAttributes(ObjectClassHandle objectClassHandle, AttributeHandle[] attributeHandles, FederateHandle federateHandle) throws ObjectClassNotDefined, AttributeNotDefined, FederateNotExecutionMember, InvalidAttributeHandle
unpublishObjectClassAttributes
in interface FederationExecutionRemote
objectClassHandle
- the object class that defines the given attributesfederateHandle
- the federate that un-publishes the given attributes
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 validpublic void publishInteractionClass(InteractionClassHandle interactionClassHandle, FederateHandle federateHandle) throws InteractionClassNotDefined, FederateNotExecutionMember, SaveInProgress, RestoreInProgress
publishInteractionClass
in interface FederationExecutionRemote
interactionClassHandle
- the interaction to be added to the to the published
interactions of the given federatefederateHandle
- the handle of the federate that wants to publish the given
interaction
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 implementedpublic void unpublishInteractionClass(InteractionClassHandle interactionClassHandle, FederateHandle federateHandle) throws InteractionClassNotDefined, FederateNotExecutionMember, SaveInProgress, RestoreInProgress
unpublishInteractionClass
in interface FederationExecutionRemote
InteractionClassNotDefined
FederateNotExecutionMember
SaveInProgress
RestoreInProgress
public void subscribeObjectClassAttributes(ObjectClassHandle objectClassHandle, AttributeHandle[] attributeHandles, FederateHandle federateHandle) throws ObjectClassNotDefined, AttributeNotDefined, FederateNotExecutionMember, InvalidAttributeHandle
subscribeObjectClassAttributes
in interface FederationExecutionRemote
objectClassHandle
- the object class the attributes are defined inattributeHandles
- the object class attributes that the given federate shall be
subscribed tofederateHandle
- the federate that shall subscribe to the given object class
attributes
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 validpublic void unsubscribeObjectClassAttributes(ObjectClassHandle objectClassHandle, AttributeHandle[] attributeHandles, FederateHandle federateHandle) throws ObjectClassNotDefined, AttributeNotDefined, FederateNotExecutionMember, InvalidAttributeHandle
unsubscribeObjectClassAttributes
in interface FederationExecutionRemote
objectClassHandle
- the object class the attributes are defined inattributeHandles
- the object class attributes that the given federate shall be
unsubscribed fromfederateHandle
- the federate that shall unsubscribe from the given object
class attributes
InvalidAttributeHandle
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 executionpublic void unsubscribeObjectClass(ObjectClassHandle objectClassHandle, FederateHandle federateHandle) throws ObjectClassNotDefined, FederateNotExecutionMember
unsubscribeObjectClass
in interface FederationExecutionRemote
objectClassHandle
- the object class the attributes are defined infederateHandle
- the federate that shall unsubscribe from the given object
class attributes
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 executionpublic void subscribeInteractionClass(InteractionClassHandle interactionClassHandle, FederateHandle federateHandle) throws InteractionClassNotDefined, FederateServiceInvocationsAreBeingReportedViaMOM, FederateNotExecutionMember
subscribeInteractionClass
in interface FederationExecutionRemote
interactionClassHandle
- the interaction class handle to be subscribed tofederateHandle
- the federate that subscribes to the interaction class
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 executionpublic void unsubscribeInteractionClass(InteractionClassHandle interactionClassHandle, FederateHandle federateHandle) throws InteractionClassNotDefined, FederateNotExecutionMember, SaveInProgress, RestoreInProgress
unsubscribeInteractionClass
in interface FederationExecutionRemote
interactionClassHandle
- the interaction class the given federate shall be subscribed
tofederateHandle
- the federate that shall be subscribed to the given interaction
class
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 implementedpublic ObjectInstanceHandle registerObjectInstance(ObjectClassHandle objectClassHandle, FederateHandle federateHandle) throws ObjectClassNotDefined, ObjectClassNotPublished, FederateNotExecutionMember, InvalidObjectClassHandle
registerObjectInstance
in interface FederationExecutionRemote
objectClassHandle
- the object class of the instance to be registered.federateHandle
- the federate that registers the new instance
InvalidObjectClassHandle
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 executionpublic ObjectInstanceHandle registerObjectInstance(ObjectClassHandle objectClassHandle, java.lang.String instanceName, FederateHandle federateHandle) throws ObjectClassNotDefined, ObjectClassNotPublished, ObjectInstanceNameNotReserved, ObjectInstanceNameInUse, FederateNotExecutionMember, SaveInProgress, RestoreInProgress
FederationExecutionRemote
registerObjectInstance
in interface FederationExecutionRemote
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
SaveInProgress
RestoreInProgress
public java.util.Map<LrcRemote,java.util.Map<FederateHandle,AttributeHandle[]>> getSubscriptions(ObjectInstanceHandle objectInstanceHandle, AttributeHandle[] attributeHandles, FederateHandle askingFederateHandle) throws AttributeNotDefined, AttributeNotOwned, FederateNotExecutionMember, InvalidAttributeHandle, ObjectInstanceNotKnown
getSubscriptions
in interface FederationExecutionRemote
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
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
InvalidAttributeHandle
- If one of the attribute handles given is not valid
ObjectInstanceNotKnown
- if the given object instance handle is not identifying a
registered object instance of this federation executionpublic java.util.Map<LrcRemote,java.util.Set<FederateHandle>> getSubscriptions(InteractionClassHandle interactionClassHandle, FederateHandle federateHandle) throws InteractionClassNotDefined, InteractionClassNotPublished, FederateNotExecutionMember
getSubscriptions
in interface FederationExecutionRemote
interactionClassHandle
- the interaction class handle to be checked for subscribed
federates
InteractionClassNotDefined
- the given interaction class 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
InteractionClassNotPublished
public void requestAttributeValueUpdate(ObjectInstanceHandle objectInstanceHandle, AttributeHandle[] attributeHandles, byte[] userSuppliedTag) throws ObjectInstanceNotKnown, AttributeNotDefined, SaveInProgress, RestoreInProgress
requestAttributeValueUpdate
in interface FederationExecutionRemote
objectInstanceHandle
- the object instance handle for which updates shall be providedattributeHandles
- the attributes for which updates shall be provideduserSuppliedTag
- user supplied tag (delivered as is to the applicable
federates)
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 implementedLrcRemote.provideAttributeValueUpdate(ObjectInstanceHandle,
AttributeHandleSet, byte[], FederateHandle[], String)
public int getJoinedFederates() throws java.rmi.RemoteException
getJoinedFederates
in interface FederationExecutionRemote
java.rmi.RemoteException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |