edu.cmu.sei.aadl.model.property.impl
Class ReferenceValueImpl

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.property.impl.PropertyValueImpl
                      extended by edu.cmu.sei.aadl.model.property.impl.ReferenceValueImpl
All Implemented Interfaces:
AObject, PropertyValue, ReferenceValue, org.eclipse.core.runtime.IAdaptable, org.eclipse.emf.common.notify.Notifier, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.InternalEObject
Direct Known Subclasses:
InstanceReferenceValueImpl

public class ReferenceValueImpl
extends PropertyValueImpl
implements ReferenceValue

An implementation of the model object 'Reference Value'.

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 referenceElement
          The cached value of the 'Reference Element' reference list
protected  org.eclipse.emf.common.util.EList subcomponentName
          parsed sequence of subcomponent names representing an instance hierachy path
 
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 ReferenceValueImpl()
           
 
Method Summary
 void addReferenceElement(ReferenceElement newReferenceElement)
          phf: add element to multiplicity EList
 void addSubcomponentName(java.lang.String name)
          add parsed subcomponent name as part of path sequence
 java.lang.Object eGet(int featureID, boolean resolve, boolean coreType)
           
 boolean eIsSet(int featureID)
           
 boolean equals(java.lang.Object o)
          Two reference values are equal if they reference the same subcomponent.
 void eSet(int featureID, java.lang.Object newValue)
           
protected  org.eclipse.emf.ecore.EClass eStaticClass()
           
 void eUnset(int featureID)
           
 AadlPropertyValue evaluate(PropertyHolder context, java.util.Map modes)
          Evaluate a property value.
 org.eclipse.emf.common.util.EList getReferenceElement()
           
 org.eclipse.emf.common.util.EList getSubcomponentName()
          returns parsed subcomponent name sequence as String Vector
 java.lang.String getValueAsString()
          value as string
 PropertyValue instantiate(ComponentInstance root)
          Default implementation for instantation: simply returns itself.
 void preEvaluate(PropertyHolder context, java.util.Set reqModeContexts)
          Pre-evaluate a property value to determine which ComponentImpls have modes that can affect the property value.
 
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, toString
 
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, eInverseAdd, eInverseRemove, 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, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
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

copyright

public static final java.lang.String copyright

See Also:
Constant Field Values

subcomponentName

protected org.eclipse.emf.common.util.EList subcomponentName
parsed sequence of subcomponent names representing an instance hierachy path


referenceElement

protected org.eclipse.emf.common.util.EList referenceElement
The cached value of the 'Reference Element' reference list.

See Also:
getReferenceElement()
Constructor Detail

ReferenceValueImpl

protected ReferenceValueImpl()

Method Detail

eStaticClass

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

Overrides:
eStaticClass in class PropertyValueImpl

getReferenceElement

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

Specified by:
getReferenceElement in interface ReferenceValue
Returns:
the value of the 'Reference Element' reference list.
See Also:
PropertyPackage.getReferenceValue_ReferenceElement()

addReferenceElement

public void addReferenceElement(ReferenceElement newReferenceElement)
phf: add element to multiplicity EList

Specified by:
addReferenceElement in interface ReferenceValue
Parameters:
newReferenceElement - the value to add to 'Reference Element' reference list.

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 AObjectImpl

eSet

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

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

eUnset

public void eUnset(int featureID)

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

eIsSet

public boolean eIsSet(int featureID)

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

addSubcomponentName

public void addSubcomponentName(java.lang.String name)
add parsed subcomponent name as part of path sequence

Specified by:
addSubcomponentName in interface ReferenceValue
Parameters:
name -

getSubcomponentName

public org.eclipse.emf.common.util.EList getSubcomponentName()
returns parsed subcomponent name sequence as String Vector

Specified by:
getSubcomponentName in interface ReferenceValue
Returns:
Vector of strings naming the subcomponents in the path

evaluate

public final AadlPropertyValue evaluate(PropertyHolder context,
                                        java.util.Map modes)
Description copied from interface: PropertyValue
Evaluate a property value.

Specified by:
evaluate in interface PropertyValue
Overrides:
evaluate in class PropertyValueImpl
Parameters:
context - The context in which to look up any property value references.
modes - The mode in which to look up the value; a mapping from component impls to modes
Returns:
The evaluated property value.

preEvaluate

public final void preEvaluate(PropertyHolder context,
                              java.util.Set reqModeContexts)
Description copied from interface: PropertyValue
Pre-evaluate a property value to determine which ComponentImpls have modes that can affect the property value.

Specified by:
preEvaluate in interface PropertyValue
Overrides:
preEvaluate in class PropertyValueImpl
Parameters:
context - The context in which the property value is to be looked up.
reqModeContexts - The working set of component implementations whose modes affect the value of the property. This set is modified as a side-effect of this method.

instantiate

public PropertyValue instantiate(ComponentInstance root)
                          throws InvalidModelException
Description copied from class: PropertyValueImpl
Default implementation for instantation: simply returns itself. Most property value do not need to be translated.

Specified by:
instantiate in interface PropertyValue
Overrides:
instantiate in class PropertyValueImpl
Parameters:
root - The component instance to be used as the root of subcomponent paths. (This is also the component whose declared modes may be used in any in modes clauses.)
Returns:
The instantiated property value.
Throws:
InvalidModelException - Thrown if the property value cannot be instantiated, which reflects an error in the modeled system. Currently this can only happen with a reference to a connection. It is possible for that reference to be ambiguous when the model is instantiated or to be non-existent if the model is incomplete and the connection does not take part in a semantic connection.

getValueAsString

public java.lang.String getValueAsString()
value as string

Specified by:
getValueAsString in interface PropertyValue
Returns:
path of subcomponent names

equals

public boolean equals(java.lang.Object o)
Two reference values are equal if they reference the same subcomponent.

Overrides:
equals in class java.lang.Object