edu.cmu.sei.aadl.model.core.impl
Class ModeImpl

java.lang.Object
  extended by org.eclipse.emf.common.notify.impl.BasicNotifierImpl
      extended by org.eclipse.emf.ecore.impl.BasicEObjectImpl
          extended by org.eclipse.emf.ecore.impl.EObjectImpl
              extended by edu.cmu.sei.aadl.model.core.impl.AObjectImpl
                  extended by edu.cmu.sei.aadl.model.core.impl.NamedElementImpl
                      extended by edu.cmu.sei.aadl.model.core.impl.PropertyHolderImpl
                          extended by edu.cmu.sei.aadl.model.core.impl.ModeImpl
All Implemented Interfaces:
AObject, Mode, NamedElement, PropertyHolder, org.eclipse.core.runtime.IAdaptable, org.eclipse.emf.common.notify.Notifier, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.InternalEObject
Direct Known Subclasses:
SystemOperationModeImpl

public class ModeImpl
extends PropertyHolderImpl
implements Mode

An implementation of the model object 'Mode'.

The following features are implemented:


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl
org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolder, org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolderBaseImpl, org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolderImpl
 
Nested classes/interfaces inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EAdapterList<E extends java.lang.Object & org.eclipse.emf.common.notify.Adapter>
 
Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.InternalEObject
org.eclipse.emf.ecore.InternalEObject.EStore
 
Field Summary
static java.lang.String copyright
           
protected  org.eclipse.emf.common.util.EList incomingModeTransition
          The cached value of the 'Incoming Mode Transition' reference list
protected  org.eclipse.emf.common.util.EList members
          The cached value of the 'Members' reference list
protected  org.eclipse.emf.common.util.EList outgoingModeTransition
          The cached value of the 'Outgoing Mode Transition' reference list
protected  boolean refined
           
protected  Mode refines
          The cached value of the 'Refines' reference
protected  RefinedReference rr
           
protected  ModeState state
          The cached value of the 'State' attribute
protected static ModeState STATE_EDEFAULT
          The default value of the 'State' attribute
 
Fields inherited from class edu.cmu.sei.aadl.model.core.impl.PropertyHolderImpl
properties
 
Fields inherited from class edu.cmu.sei.aadl.model.core.impl.NamedElementImpl
name, NAME_EDEFAULT
 
Fields inherited from class edu.cmu.sei.aadl.model.core.impl.AObjectImpl
comment, locationReference
 
Fields inherited from class org.eclipse.emf.ecore.impl.EObjectImpl
eAdapters, eContainer, eContainerFeatureID, EDELIVER, EDYNAMIC_CLASS, eFlags, ELAST_EOBJECT_FLAG, ELAST_NOTIFIER_FLAG, eProperties, EPROXY
 
Fields inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl
EVIRTUAL_GET, EVIRTUAL_IS_SET, EVIRTUAL_NO_VALUE, EVIRTUAL_SET, EVIRTUAL_UNSET
 
Fields inherited from interface org.eclipse.emf.ecore.InternalEObject
EOPPOSITE_FEATURE_BASE
 
Constructor Summary
protected ModeImpl()
           
 
Method Summary
 boolean acceptsProperty(PropertyDefinition property)
          Query whether this object accepts values for the given property.
 void addIncomingModeTransition(ModeTransition newIncomingModeTransition)
          phf: add element to multiplicity EList
 void addMembers(ModeMember newMembers)
          phf: add element to multiplicity EList
 void addOutgoingModeTransition(ModeTransition newOutgoingModeTransition)
          phf: add element to multiplicity EList
 Mode basicGetRefines()
           
 java.lang.Object eGet(int featureID, boolean resolve, boolean coreType)
           
 org.eclipse.emf.common.notify.NotificationChain eInverseAdd(org.eclipse.emf.ecore.InternalEObject otherEnd, int featureID, org.eclipse.emf.common.notify.NotificationChain msgs)
           
 org.eclipse.emf.common.notify.NotificationChain eInverseRemove(org.eclipse.emf.ecore.InternalEObject otherEnd, int featureID, org.eclipse.emf.common.notify.NotificationChain msgs)
           
 boolean eIsSet(int featureID)
           
 void eSet(int featureID, java.lang.Object newValue)
           
protected  org.eclipse.emf.ecore.EClass eStaticClass()
           
 void eUnset(int featureID)
           
 org.eclipse.emf.common.util.EList getIncomingModeTransition()
           
 org.eclipse.emf.common.util.EList getMembers()
           
 org.eclipse.emf.common.util.EList getOutgoingModeTransition()
           
 void getPropertyValueInternal(PropertyDefinition pn, ModalPropertyValueAccumulator pva, boolean fromInstanceSlaveCall)
          Helper routine for computing the value of the property.
 RefinedReference getRefinedReference()
          returns the RefinedReference
 Mode getRefines()
           
 ModeState getState()
           
 boolean isRefined()
          check refined flag
 void setRefined(boolean rf)
          set the refined flag (parsing information)
 void setRefinedReference(RefinedReference rr)
          sets the RefinedReference prased object
 void setRefines(Mode newRefines)
          phf: we want an add version for EList
 void setState(ModeState newState)
           
 java.lang.String toString()
           
 
Methods inherited from class edu.cmu.sei.aadl.model.core.impl.PropertyHolderImpl
addProperty, addPropertyValue, basicSetProperties, checkPropertyAssociation, createAccumulator, createPropertyAssociation, findPropertyAssociation, getProperties, getPropertyAssociation, getPropertyValue, getPropertyValueList, getSimplePropertyValue, isModalPropertyValue, removeContainedPropertyAssociations, removeContainedPropertyAssociations, removePropertyAssociations, removePropertyAssociations, setContainedPropertyValue, setContainedPropertyValue, setContainedPropertyValue, setContainedPropertyValue, setProperties, setPropertyValue, setPropertyValue, setPropertyValue, setPropertyValue
 
Methods inherited from class edu.cmu.sei.aadl.model.core.impl.NamedElementImpl
checkName, getName, setName
 
Methods inherited from class edu.cmu.sei.aadl.model.core.impl.AObjectImpl
addComment, eObjectForURIFragmentSegment, eURIFragmentSegment, getAadlSpec, getAdapter, getAObjectRoot, getChildren, getComment, getContainingClassifier, getContainingClassifierNameSpace, getContainingComponentImpl, getContainingComponentType, getContainingPropertyAssociationDefinitionConstant, getContainingSubcomponent, getLocationReference, getReferencedObject, getSecondReferencedObject, getSystemInstance, setLocationReference, setLocationReference
 
Methods inherited from class org.eclipse.emf.ecore.impl.EObjectImpl
eAdapters, eBasicAdapters, eBasicProperties, eBasicSetContainer, eClass, eContainerFeatureID, eDeliver, eInternalContainer, eIsProxy, eProperties, eSetClass, eSetDeliver, eSetProxyURI
 
Methods inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl
eAddVirtualValue, eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicRemoveFromContainerFeature, eBasicSetContainer, eComputeVirtualValuesCapacity, eContainer, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eContents, eCrossReferences, eDerivedStructuralFeatureID, eDerivedStructuralFeatureID, eDirectResource, eDynamicBasicRemoveFromContainer, eDynamicClass, eDynamicFeature, eDynamicFeatureID, eDynamicGet, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicInverseRemove, eDynamicIsSet, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eHasSettings, eInternalResource, eInverseAdd, eInverseRemove, eIsSet, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eProxyURI, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSetDirectResource, eSetResource, eSetStore, eSetting, eSettingDelegate, eSettings, eSetVirtualIndexBits, eSetVirtualValue, eSetVirtualValues, eStaticFeatureCount, eStore, eUnset, eVirtualBitCount, eVirtualGet, eVirtualGet, eVirtualIndex, eVirtualIndexBits, eVirtualIsSet, eVirtualSet, eVirtualUnset, eVirtualValue, eVirtualValues
 
Methods inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
eNotificationRequired, eNotify
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.cmu.sei.aadl.model.core.PropertyHolder
addProperty, addPropertyValue, checkPropertyAssociation, findPropertyAssociation, getProperties, getPropertyAssociation, getPropertyValue, getPropertyValueList, getSimplePropertyValue, isModalPropertyValue, removeContainedPropertyAssociations, removeContainedPropertyAssociations, removePropertyAssociations, removePropertyAssociations, setContainedPropertyValue, setContainedPropertyValue, setContainedPropertyValue, setContainedPropertyValue, setProperties, setPropertyValue, setPropertyValue, setPropertyValue, setPropertyValue
 
Methods inherited from interface edu.cmu.sei.aadl.model.core.NamedElement
getName, setName
 
Methods inherited from interface edu.cmu.sei.aadl.model.core.AObject
addComment, getAadlSpec, getAObjectRoot, getChildren, getComment, getContainingClassifier, getContainingClassifierNameSpace, getContainingComponentImpl, getContainingComponentType, getContainingPropertyAssociationDefinitionConstant, getContainingSubcomponent, getLocationReference, getReferencedObject, getSecondReferencedObject, getSystemInstance, setLocationReference, setLocationReference
 
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eIsProxy, eIsSet, eResource, eSet, eUnset
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 
Methods inherited from interface org.eclipse.emf.ecore.InternalEObject
eNotificationRequired
 

Field Detail

rr

protected RefinedReference rr

refined

protected boolean refined

copyright

public static final java.lang.String copyright

See Also:
Constant Field Values

members

protected org.eclipse.emf.common.util.EList members
The cached value of the 'Members' reference list.

See Also:
getMembers()

outgoingModeTransition

protected org.eclipse.emf.common.util.EList outgoingModeTransition
The cached value of the 'Outgoing Mode Transition' reference list.

See Also:
getOutgoingModeTransition()

incomingModeTransition

protected org.eclipse.emf.common.util.EList incomingModeTransition
The cached value of the 'Incoming Mode Transition' reference list.

See Also:
getIncomingModeTransition()

refines

protected Mode refines
The cached value of the 'Refines' reference.

See Also:
getRefines()

STATE_EDEFAULT

protected static final ModeState STATE_EDEFAULT
The default value of the 'State' attribute.

See Also:
getState()

state

protected ModeState state
The cached value of the 'State' attribute.

See Also:
getState()
Constructor Detail

ModeImpl

protected ModeImpl()

Method Detail

eStaticClass

protected org.eclipse.emf.ecore.EClass eStaticClass()

Overrides:
eStaticClass in class PropertyHolderImpl

getMembers

public org.eclipse.emf.common.util.EList getMembers()

Specified by:
getMembers in interface Mode
Returns:
the value of the 'Members' reference list.
See Also:
CorePackage.getMode_Members(), ModeMember.getInModes()

addMembers

public void addMembers(ModeMember newMembers)
phf: add element to multiplicity EList

Specified by:
addMembers in interface Mode
Parameters:
newMembers - the value to add to 'Members' reference list.

getOutgoingModeTransition

public org.eclipse.emf.common.util.EList getOutgoingModeTransition()

Specified by:
getOutgoingModeTransition in interface Mode
Returns:
the value of the 'Outgoing Mode Transition' reference list.
See Also:
CorePackage.getMode_OutgoingModeTransition(), ModeTransition.getSrcMode()

addOutgoingModeTransition

public void addOutgoingModeTransition(ModeTransition newOutgoingModeTransition)
phf: add element to multiplicity EList

Specified by:
addOutgoingModeTransition in interface Mode
Parameters:
newOutgoingModeTransition - the value to add to 'Outgoing Mode Transition' reference list.

getIncomingModeTransition

public org.eclipse.emf.common.util.EList getIncomingModeTransition()

Specified by:
getIncomingModeTransition in interface Mode
Returns:
the value of the 'Incoming Mode Transition' reference list.
See Also:
CorePackage.getMode_IncomingModeTransition(), ModeTransition.getDstMode()

addIncomingModeTransition

public void addIncomingModeTransition(ModeTransition newIncomingModeTransition)
phf: add element to multiplicity EList

Specified by:
addIncomingModeTransition in interface Mode
Parameters:
newIncomingModeTransition - the value to add to 'Incoming Mode Transition' reference list.

getRefines

public Mode getRefines()

Specified by:
getRefines in interface Mode
Returns:
the value of the 'Refines' reference.
See Also:
Mode.setRefines(Mode), CorePackage.getMode_Refines()

basicGetRefines

public Mode basicGetRefines()


setRefines

public void setRefines(Mode newRefines)
phf: we want an add version for EList

Specified by:
setRefines in interface Mode
Parameters:
newRefines - the new value of the 'Refines' reference.
See Also:
Mode.getRefines()

getState

public ModeState getState()

Specified by:
getState in interface Mode
Returns:
the value of the 'State' attribute.
See Also:
ModeState, Mode.setState(ModeState), CorePackage.getMode_State()

setState

public void setState(ModeState newState)

Specified by:
setState in interface Mode
Parameters:
newState - the new value of the 'State' attribute.
See Also:
ModeState, Mode.getState()

eInverseAdd

public org.eclipse.emf.common.notify.NotificationChain eInverseAdd(org.eclipse.emf.ecore.InternalEObject otherEnd,
                                                                   int featureID,
                                                                   org.eclipse.emf.common.notify.NotificationChain msgs)

Overrides:
eInverseAdd in class org.eclipse.emf.ecore.impl.BasicEObjectImpl

eInverseRemove

public org.eclipse.emf.common.notify.NotificationChain eInverseRemove(org.eclipse.emf.ecore.InternalEObject otherEnd,
                                                                      int featureID,
                                                                      org.eclipse.emf.common.notify.NotificationChain msgs)

Overrides:
eInverseRemove in class PropertyHolderImpl

eGet

public java.lang.Object eGet(int featureID,
                             boolean resolve,
                             boolean coreType)

Specified by:
eGet in interface org.eclipse.emf.ecore.InternalEObject
Overrides:
eGet in class PropertyHolderImpl

eSet

public void eSet(int featureID,
                 java.lang.Object newValue)

Specified by:
eSet in interface org.eclipse.emf.ecore.InternalEObject
Overrides:
eSet in class PropertyHolderImpl

eUnset

public void eUnset(int featureID)

Specified by:
eUnset in interface org.eclipse.emf.ecore.InternalEObject
Overrides:
eUnset in class PropertyHolderImpl

eIsSet

public boolean eIsSet(int featureID)

Specified by:
eIsSet in interface org.eclipse.emf.ecore.InternalEObject
Overrides:
eIsSet in class PropertyHolderImpl

toString

public java.lang.String toString()

Overrides:
toString in class NamedElementImpl

setRefinedReference

public void setRefinedReference(RefinedReference rr)
sets the RefinedReference prased object

Specified by:
setRefinedReference in interface Mode
Parameters:
rr - RefinedReference

getRefinedReference

public RefinedReference getRefinedReference()
returns the RefinedReference

Specified by:
getRefinedReference in interface Mode
Returns:
RefinedReference

setRefined

public void setRefined(boolean rf)
set the refined flag (parsing information)

Specified by:
setRefined in interface Mode
Parameters:
rf -

isRefined

public boolean isRefined()
check refined flag

Specified by:
isRefined in interface Mode
Returns:
the value of the refined flag

acceptsProperty

public final boolean acceptsProperty(PropertyDefinition property)
Description copied from interface: PropertyHolder
Query whether this object accepts values for the given property. That is, does the given property apply to this element?

Specified by:
acceptsProperty in interface PropertyHolder
Overrides:
acceptsProperty in class PropertyHolderImpl
Parameters:
property - The property definition to test.
Returns:
true if the given property applies to this element.

getPropertyValueInternal

public void getPropertyValueInternal(PropertyDefinition pn,
                                     ModalPropertyValueAccumulator pva,
                                     boolean fromInstanceSlaveCall)
                              throws InvalidModelException
Description copied from interface: PropertyHolder
Helper routine for computing the value of the property. As the name suggests, this method is not intended for use by clients of the model, but is used during the property lookup process. It should really be a protected method in PropertyHolderImpl, but because of the way that EMF deals with multiple inheritance, not all implementations of PropertyHolder actually extend from PropertyHolderImpl.

In particular, this method does not create a new property value accumulator—it uses the one provided—and it does not look up the default value of the property.

Specified by:
getPropertyValueInternal in interface PropertyHolder
Overrides:
getPropertyValueInternal in class PropertyHolderImpl
Parameters:
pn - The property whose value is to be retreived. It must be the case that this property is accepted by the property holder, i.e., PropertyHolder.acceptsProperty(PropertyDefinition) must return true.
pva - The working property value accumulator to add results to.
fromInstanceSlaveCall - true if the call is performing a lookup on the declarative model on behalf of an instance model object. When true the lookup algorithm ignores the "inherits" attribute on property definitions when it would mean that the lookup should defer to the containing component implemenation. Also disables the interpretation of contained property associations in the declarative model because they have already been applied to the instance model at this point. The expectation is that the instance model lookup itself is not ignoring the inherits attribute, and thus any inherited property values will still be found correctly. Interpreting the inherits attribute during the declarative model search is redundant and causes problems later on. This flag does not affect lookup for feature declarations because in that case the inherit flag defers to the component type or port group type.
Throws:
InvalidModelException - Thrown if the property value cannot be retreived because the model is incomplete or otherwise invalid.