edu.cmu.sei.aadl.aadl2.impl
Class FeatureImpl

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.aadl2.parsesupport.AObjectImpl
                  extended by edu.cmu.sei.aadl.aadl2.impl.ElementImpl
                      extended by edu.cmu.sei.aadl.aadl2.impl.NamedElementImpl
                          extended by edu.cmu.sei.aadl.aadl2.impl.RefinableElementImpl
                              extended by edu.cmu.sei.aadl.aadl2.impl.StructuralFeatureImpl
                                  extended by edu.cmu.sei.aadl.aadl2.impl.FeatureImpl
All Implemented Interfaces:
ArrayableElement, ClassifierFeature, ConnectionEnd, Element, Feature, FeatureConnectionEnd, NamedElement, AObject, RefinableElement, StructuralFeature, org.eclipse.core.runtime.IAdaptable, org.eclipse.emf.common.notify.Notifier, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.InternalEObject
Direct Known Subclasses:
AccessImpl, DirectedFeatureImpl

public abstract class FeatureImpl
extends StructuralFeatureImpl
implements Feature

An implementation of the model object 'Feature'.

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
protected  ArraySpecification arraySpecification
           
protected  Prototype prototype
           
protected  Feature refined
           
 
Fields inherited from class edu.cmu.sei.aadl.aadl2.impl.RefinableElementImpl
refinedElement, refinementContext
 
Fields inherited from class edu.cmu.sei.aadl.aadl2.impl.NamedElementImpl
name, NAME_EDEFAULT, ownedPropertyAssociations, QUALIFIED_NAME_EDEFAULT
 
Fields inherited from class edu.cmu.sei.aadl.aadl2.impl.ElementImpl
OWNED_ELEMENT_ESUBSETS, ownedComments
 
Fields inherited from class edu.cmu.sei.aadl.aadl2.parsesupport.AObjectImpl
copyright, 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 edu.cmu.sei.aadl.aadl2.parsesupport.AObject
copyright
 
Fields inherited from interface org.eclipse.emf.ecore.InternalEObject
EOPPOSITE_FEATURE_BASE
 
Constructor Summary
protected FeatureImpl()
           
 
Method Summary
 ComponentClassifier basicGetClassifier()
           
 Prototype basicGetPrototype()
           
 Feature basicGetRefined()
           
 RefinableElement basicGetRefinedElement()
           
 org.eclipse.emf.common.notify.NotificationChain basicSetArraySpecification(ArraySpecification newArraySpecification, org.eclipse.emf.common.notify.NotificationChain msgs)
           
 ArraySpecification createArraySpecification()
          Creates a new ArraySpecification and sets the 'Array Specification' containment reference
 int eBaseStructuralFeatureID(int derivedFeatureID, java.lang.Class<?> baseClass)
           
 int eDerivedStructuralFeatureID(int baseFeatureID, java.lang.Class<?> baseClass)
           
 java.lang.Object eGet(int featureID, boolean resolve, boolean coreType)
           
 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)
           
 ComponentClassifier getAllClassifier()
          Get the classifier of given feature or its refinement ancestor, if it has one, otherwise null.
 org.eclipse.emf.common.util.EList<Feature> getAllFeatureRefinements()
          Return the feature and any of the features it refines
 ArraySpecification getArraySpecification()
          Returns the value of the 'Array Specification' containment reference
 ComponentClassifier getClassifier()
          Returns the value of the 'Classifier' reference.
 void getPropertyValueInternal(Property prop, PropertyAcc pas, boolean fromInstanceSlaveCall)
          Helper routine for computing the value of the property.
 void getPropertyValueInternalHelper(Property prop, PropertyAcc pas, boolean fromInstanceSlaveCall)
           
 void getPropertyValueTest(Property prop, PropertyAcc pas, Classifier cl)
           
 void getPropertyValueTestHelper(Property prop, PropertyAcc pas, Classifier cl)
           
 Prototype getPrototype()
          Returns the value of the 'Prototype' reference
 Feature getRefined()
          Returns the value of the 'Refined' reference.
 RefinableElement getRefinedElement()
           
 boolean isSetClassifier()
           
 boolean isSetRefined()
           
 boolean isSetRefinedElement()
           
 void setArraySpecification(ArraySpecification newArraySpecification)
          Sets the value of the 'Array Specification' containment reference
 void setPrototype(Prototype newPrototype)
          Sets the value of the 'Prototype' reference
 void setRefined(Feature newRefined)
          Sets the value of the 'Refined' reference
 
Methods inherited from class edu.cmu.sei.aadl.aadl2.impl.StructuralFeatureImpl
getFeaturingClassifiers
 
Methods inherited from class edu.cmu.sei.aadl.aadl2.impl.RefinableElementImpl
basicGetRefinementContext, getRefinementContext
 
Methods inherited from class edu.cmu.sei.aadl.aadl2.impl.NamedElementImpl
acceptsProperty, allNamespaces, checkPropertyAssociation, createOwnedPropertyAssociation, eBasicRemoveFromContainerFeature, getName, getNamespace, getOwnedPropertyAssociations, getPropertyValue, getPropertyValueList, getQualifiedName, getSimplePropertyValue, has_no_qualified_name, has_qualified_name, hasName, isDistinguishableFrom, qualifiedName, removePropertyAssociations, removePropertyAssociations, separator, setName, setPropertyValue, setPropertyValue, setPropertyValue, toString
 
Methods inherited from class edu.cmu.sei.aadl.aadl2.impl.ElementImpl
allOwnedElements, create, createOwnedComment, getCacheAdapter, getChildren, getContainingClassifier, getContainingComponentImpl, getElementRoot, getOwnedComments, getOwnedElements, getOwner, has_owner, isSetOwnedElements, isSetOwner, mustBeOwned, not_own_self
 
Methods inherited from class edu.cmu.sei.aadl.aadl2.parsesupport.AObjectImpl
getAdapter, getLocationReference, 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, eBasicRemoveFromContainer, eBasicSetContainer, eComputeVirtualValuesCapacity, eContainer, eContainerAdapterArray, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eContents, eCrossReferences, 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, eInverseAdd, eInverseRemove, eIsSet, eObjectForURIFragmentSegment, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eProxyURI, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSetDirectResource, eSetResource, eSetStore, eSetting, eSettingDelegate, eSettings, eSetVirtualIndexBits, eSetVirtualValue, eSetVirtualValues, eStaticFeatureCount, eStore, eUnset, eURIFragmentSegment, eVirtualBitCount, eVirtualGet, eVirtualGet, eVirtualIndex, eVirtualIndexBits, eVirtualIsSet, eVirtualSet, eVirtualUnset, eVirtualValue, eVirtualValues
 
Methods inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
eBasicAdapterArray, eBasicHasAdapters, 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.aadl2.RefinableElement
getRefinementContext
 
Methods inherited from interface edu.cmu.sei.aadl.aadl2.ClassifierFeature
getFeaturingClassifiers
 
Methods inherited from interface edu.cmu.sei.aadl.aadl2.NamedElement
acceptsProperty, allNamespaces, checkPropertyAssociation, createOwnedPropertyAssociation, getName, getNamespace, getOwnedPropertyAssociations, getPropertyValue, getPropertyValueList, getQualifiedName, getSimplePropertyValue, has_no_qualified_name, has_qualified_name, hasName, isDistinguishableFrom, qualifiedName, removePropertyAssociations, removePropertyAssociations, separator, setName, setPropertyValue, setPropertyValue, setPropertyValue
 
Methods inherited from interface edu.cmu.sei.aadl.aadl2.Element
allOwnedElements, createOwnedComment, getChildren, getContainingClassifier, getContainingComponentImpl, getElementRoot, getOwnedComments, getOwnedElements, getOwner, has_owner, mustBeOwned, not_own_self
 
Methods inherited from interface edu.cmu.sei.aadl.aadl2.parsesupport.AObject
getLocationReference, 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

arraySpecification

protected ArraySpecification arraySpecification

prototype

protected Prototype prototype

refined

protected Feature refined
Constructor Detail

FeatureImpl

protected FeatureImpl()
Method Detail

eStaticClass

protected org.eclipse.emf.ecore.EClass eStaticClass()
Description copied from class: StructuralFeatureImpl

Overrides:
eStaticClass in class StructuralFeatureImpl

getArraySpecification

public ArraySpecification getArraySpecification()
Description copied from interface: ArrayableElement
Returns the value of the 'Array Specification' containment reference.

If the meaning of the 'Array Specification' containment reference isn't clear, there really should be more of a description here...

Specified by:
getArraySpecification in interface ArrayableElement
Returns:
the value of the 'Array Specification' containment reference.
See Also:
ArrayableElement.setArraySpecification(ArraySpecification), Aadl2Package.getArrayableElement_ArraySpecification()

basicSetArraySpecification

public org.eclipse.emf.common.notify.NotificationChain basicSetArraySpecification(ArraySpecification newArraySpecification,
                                                                                  org.eclipse.emf.common.notify.NotificationChain msgs)

setArraySpecification

public void setArraySpecification(ArraySpecification newArraySpecification)
Description copied from interface: ArrayableElement
Sets the value of the 'Array Specification' containment reference.

Specified by:
setArraySpecification in interface ArrayableElement
Parameters:
newArraySpecification - the new value of the 'Array Specification' containment reference.
See Also:
ArrayableElement.getArraySpecification()

createArraySpecification

public ArraySpecification createArraySpecification()
Description copied from interface: ArrayableElement
Creates a new ArraySpecification and sets the 'Array Specification' containment reference.

Specified by:
createArraySpecification in interface ArrayableElement
Returns:
The new ArraySpecification.
See Also:
ArrayableElement.getArraySpecification()

getPrototype

public Prototype getPrototype()
Description copied from interface: Feature
Returns the value of the 'Prototype' reference.

If the meaning of the 'Prototype' reference isn't clear, there really should be more of a description here...

Specified by:
getPrototype in interface Feature
Returns:
the value of the 'Prototype' reference.
See Also:
Feature.setPrototype(Prototype), Aadl2Package.getFeature_Prototype()

basicGetPrototype

public Prototype basicGetPrototype()

setPrototype

public void setPrototype(Prototype newPrototype)
Description copied from interface: Feature
Sets the value of the 'Prototype' reference.

Specified by:
setPrototype in interface Feature
Parameters:
newPrototype - the new value of the 'Prototype' reference.
See Also:
Feature.getPrototype()

getRefined

public Feature getRefined()
Description copied from interface: Feature
Returns the value of the 'Refined' reference.

This feature redefines the following features:

If the meaning of the 'Refined' reference isn't clear, there really should be more of a description here...

Specified by:
getRefined in interface Feature
Returns:
the value of the 'Refined' reference.
See Also:
Feature.setRefined(Feature), Aadl2Package.getFeature_Refined()

basicGetRefined

public Feature basicGetRefined()

setRefined

public void setRefined(Feature newRefined)
Description copied from interface: Feature
Sets the value of the 'Refined' reference.

Specified by:
setRefined in interface Feature
Parameters:
newRefined - the new value of the 'Refined' reference.
See Also:
Feature.getRefined()

isSetRefined

public boolean isSetRefined()

getClassifier

public ComponentClassifier getClassifier()
Description copied from interface: Feature
Returns the value of the 'Classifier' reference. This feature is a derived union.

If the meaning of the 'Classifier' reference isn't clear, there really should be more of a description here...

Specified by:
getClassifier in interface Feature
Returns:
the value of the 'Classifier' reference.
See Also:
Aadl2Package.getFeature_Classifier()

basicGetClassifier

public ComponentClassifier basicGetClassifier()

eInverseRemove

public org.eclipse.emf.common.notify.NotificationChain eInverseRemove(org.eclipse.emf.ecore.InternalEObject otherEnd,
                                                                      int featureID,
                                                                      org.eclipse.emf.common.notify.NotificationChain msgs)
Description copied from class: NamedElementImpl

Overrides:
eInverseRemove in class NamedElementImpl

eGet

public java.lang.Object eGet(int featureID,
                             boolean resolve,
                             boolean coreType)
Description copied from class: StructuralFeatureImpl

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

eSet

public void eSet(int featureID,
                 java.lang.Object newValue)
Description copied from class: NamedElementImpl

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

eUnset

public void eUnset(int featureID)
Description copied from class: NamedElementImpl

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

eIsSet

public boolean eIsSet(int featureID)
Description copied from class: StructuralFeatureImpl

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

eBaseStructuralFeatureID

public int eBaseStructuralFeatureID(int derivedFeatureID,
                                    java.lang.Class<?> baseClass)
Description copied from class: StructuralFeatureImpl

Specified by:
eBaseStructuralFeatureID in interface org.eclipse.emf.ecore.InternalEObject
Overrides:
eBaseStructuralFeatureID in class StructuralFeatureImpl

eDerivedStructuralFeatureID

public int eDerivedStructuralFeatureID(int baseFeatureID,
                                       java.lang.Class<?> baseClass)
Description copied from class: StructuralFeatureImpl

Specified by:
eDerivedStructuralFeatureID in interface org.eclipse.emf.ecore.InternalEObject
Overrides:
eDerivedStructuralFeatureID in class StructuralFeatureImpl

isSetClassifier

public boolean isSetClassifier()

getRefinedElement

public RefinableElement getRefinedElement()
Description copied from class: RefinableElementImpl

Specified by:
getRefinedElement in interface RefinableElement
Overrides:
getRefinedElement in class RefinableElementImpl
Returns:
the value of the 'Refined Element' reference.
See Also:
Aadl2Package.getRefinableElement_RefinedElement()

basicGetRefinedElement

public RefinableElement basicGetRefinedElement()
Description copied from class: RefinableElementImpl

Overrides:
basicGetRefinedElement in class RefinableElementImpl

isSetRefinedElement

public boolean isSetRefinedElement()

getAllFeatureRefinements

public org.eclipse.emf.common.util.EList<Feature> getAllFeatureRefinements()
Description copied from interface: Feature
Return the feature and any of the features it refines

Specified by:
getAllFeatureRefinements in interface Feature
Returns:
EList of feature

getAllClassifier

public ComponentClassifier getAllClassifier()
Description copied from interface: Feature
Get the classifier of given feature or its refinement ancestor, if it has one, otherwise null.

Specified by:
getAllClassifier in interface Feature
Returns:
The classifier, or null if no classifier.

getPropertyValueInternal

public void getPropertyValueInternal(Property prop,
                                     PropertyAcc pas,
                                     boolean fromInstanceSlaveCall)
                              throws InvalidModelException
Description copied from interface: NamedElement
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 NamedElementImpl, but because of the way that EMF deals with multiple inheritance, not all implementations of NamedElement actually extend from NamedElementImpl.

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 NamedElement
Overrides:
getPropertyValueInternal in class NamedElementImpl
Parameters:
prop - The property whose value is to be retrieved. It must be the case that this property is accepted by the property holder, i.e., NamedElement.acceptsProperty(Property) must return true.
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 implementation. 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 feature group type.
Throws:
InvalidModelException - Thrown if the property value cannot be retrieved because the model is incomplete or otherwise invalid.

getPropertyValueInternalHelper

public void getPropertyValueInternalHelper(Property prop,
                                           PropertyAcc pas,
                                           boolean fromInstanceSlaveCall)
                                    throws InvalidModelException
Throws:
InvalidModelException

getPropertyValueTest

public void getPropertyValueTest(Property prop,
                                 PropertyAcc pas,
                                 Classifier cl)

getPropertyValueTestHelper

public void getPropertyValueTestHelper(Property prop,
                                       PropertyAcc pas,
                                       Classifier cl)
                                throws InvalidModelException
Throws:
InvalidModelException