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

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.BooleanOrPropertyReferenceImpl
                          extended by edu.cmu.sei.aadl.model.property.impl.PropertyReferenceImpl
All Implemented Interfaces:
AObject, BooleanOrPropertyReference, NumberOrPropertyReference, PropertyReference, PropertyValue, org.eclipse.core.runtime.IAdaptable, org.eclipse.emf.common.notify.Notifier, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.InternalEObject

public class PropertyReferenceImpl
extends BooleanOrPropertyReferenceImpl
implements PropertyReference

An implementation of the model object 'Reference'.

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  ParsedPropertyReference parsedPropertyReference
          the parsed proeprty reference names
protected static java.lang.String REFERENCE_SIGN_EDEFAULT
          The default value of the 'Reference Sign' attribute
protected  ReferencedProperty referencedProperty
          The cached value of the 'Referenced Property' reference
protected  java.lang.String referenceSign
          The cached value of the 'Reference Sign' attribute
protected  boolean referenceSignESet
          This is true if the Reference Sign attribute has been set
 
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 PropertyReferenceImpl()
           
 
Method Summary
 ReferencedProperty basicGetReferencedProperty()
           
 java.lang.Object eGet(int featureID, boolean resolve, boolean coreType)
           
 boolean eIsSet(int featureID)
           
 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.
 NumberValue getNumberValue()
          Retrieves the value from either the refrenced constant or from the NumberValue assumes that there is a single value in the referenced constant.
 ParsedPropertyReference getParsedPropertyReference()
          returns parsed property reference object
 ReferencedProperty getReferencedProperty()
           
 java.lang.String getReferenceSign()
           
 java.lang.String getValueAsString()
          value as string
 boolean isSetReferenceSign()
           
 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.
 void setParsedPropertyReference(ParsedPropertyReference pr)
          sets parsed names for property reference
 void setReferencedProperty(ReferencedProperty newReferencedProperty)
          phf: we want an add version for EList
 void setReferenceSign(java.lang.String newReferenceSign)
           
 java.lang.String toString()
           
 void unsetReferenceSign()
           
 
Methods inherited from class edu.cmu.sei.aadl.model.property.impl.PropertyValueImpl
instantiate
 
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, 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, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.cmu.sei.aadl.model.property.PropertyValue
instantiate
 
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

referencedProperty

protected ReferencedProperty referencedProperty
The cached value of the 'Referenced Property' reference.

See Also:
getReferencedProperty()

REFERENCE_SIGN_EDEFAULT

protected static final java.lang.String REFERENCE_SIGN_EDEFAULT
The default value of the 'Reference Sign' attribute.

See Also:
getReferenceSign()

referenceSign

protected java.lang.String referenceSign
The cached value of the 'Reference Sign' attribute.

See Also:
getReferenceSign()

referenceSignESet

protected boolean referenceSignESet
This is true if the Reference Sign attribute has been set.


parsedPropertyReference

protected ParsedPropertyReference parsedPropertyReference
the parsed proeprty reference names

Constructor Detail

PropertyReferenceImpl

protected PropertyReferenceImpl()

Method Detail

eStaticClass

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

Overrides:
eStaticClass in class BooleanOrPropertyReferenceImpl

getReferencedProperty

public ReferencedProperty getReferencedProperty()

Specified by:
getReferencedProperty in interface PropertyReference
Returns:
the value of the 'Referenced Property' reference.
See Also:
PropertyReference.setReferencedProperty(ReferencedProperty), PropertyPackage.getPropertyReference_ReferencedProperty()

basicGetReferencedProperty

public ReferencedProperty basicGetReferencedProperty()


setReferencedProperty

public void setReferencedProperty(ReferencedProperty newReferencedProperty)
phf: we want an add version for EList

Specified by:
setReferencedProperty in interface PropertyReference
Parameters:
newReferencedProperty - the new value of the 'Referenced Property' reference.
See Also:
PropertyReference.getReferencedProperty()

getReferenceSign

public java.lang.String getReferenceSign()

Specified by:
getReferenceSign in interface PropertyReference
Returns:
the value of the 'Reference Sign' attribute.
See Also:
PropertyReference.isSetReferenceSign(), PropertyReference.unsetReferenceSign(), PropertyReference.setReferenceSign(String), PropertyPackage.getPropertyReference_ReferenceSign()

setReferenceSign

public void setReferenceSign(java.lang.String newReferenceSign)

Specified by:
setReferenceSign in interface PropertyReference
Parameters:
newReferenceSign - the new value of the 'Reference Sign' attribute.
See Also:
PropertyReference.isSetReferenceSign(), PropertyReference.unsetReferenceSign(), PropertyReference.getReferenceSign()

unsetReferenceSign

public void unsetReferenceSign()

Specified by:
unsetReferenceSign in interface PropertyReference
See Also:
PropertyReference.isSetReferenceSign(), PropertyReference.getReferenceSign(), PropertyReference.setReferenceSign(String)

isSetReferenceSign

public boolean isSetReferenceSign()

Specified by:
isSetReferenceSign in interface PropertyReference
Returns:
whether the value of the 'Reference Sign' attribute is set.
See Also:
PropertyReference.unsetReferenceSign(), PropertyReference.getReferenceSign(), PropertyReference.setReferenceSign(String)

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

toString

public java.lang.String toString()

Overrides:
toString in class AObjectImpl

setParsedPropertyReference

public void setParsedPropertyReference(ParsedPropertyReference pr)
sets parsed names for property reference

Specified by:
setParsedPropertyReference in interface PropertyReference
Parameters:
pr - parsed property reference object

getParsedPropertyReference

public ParsedPropertyReference getParsedPropertyReference()
returns parsed property reference object

Specified by:
getParsedPropertyReference in interface PropertyReference
Returns:
ParsedPropertyReference

evaluate

public final AadlPropertyValue evaluate(PropertyHolder context,
                                        java.util.Map modes)
                                 throws InvalidModelException
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.
Throws:
InvalidModelException - Thrown if there is some problem or inconsistency in the model that prevents the property value from being evaluated.

preEvaluate

public final void preEvaluate(PropertyHolder context,
                              java.util.Set reqModeContexts)
                       throws InvalidModelException
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.
Throws:
InvalidModelException - Thrown if there is some problem or inconsistency in the model that prevents the property value from being pre-evaluated.

getValueAsString

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

Specified by:
getValueAsString in interface PropertyValue
Returns:
property reference

getNumberValue

public NumberValue getNumberValue()
Retrieves the value from either the refrenced constant or from the NumberValue assumes that there is a single value in the referenced constant. This method only makes sense when this PropertyReference is a reference to a property constant whose value is a single aadlinteger or single aadlreal.

Specified by:
getNumberValue in interface NumberOrPropertyReference
Returns:
The referenced number value. Returns null if the referenced property is not a property constant or is otherwise in violation of the above invariants.