edu.cmu.sei.aadl.model.flow.impl
Class FlowSpecImpl

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.flow.impl.FlowSpecImpl
All Implemented Interfaces:
AObject, NamedElement, PropertyHolder, FlowSpec, org.eclipse.core.runtime.IAdaptable, org.eclipse.emf.common.notify.Notifier, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.InternalEObject
Direct Known Subclasses:
FlowPathSpecImpl, FlowSinkSpecImpl, FlowSourceSpecImpl

public class FlowSpecImpl
extends PropertyHolderImpl
implements FlowSpec

An implementation of the model object 'Spec'.

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  FeatureReference dstReference
           
protected  boolean refined
           
protected  FlowSpec refines
          The cached value of the 'Refines' reference
protected  RefinedReference rr
           
protected  FeatureReference srcReference
          holds parsed feature reference
 
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 FlowSpecImpl()
           
 
Method Summary
 boolean acceptsProperty(PropertyDefinition property)
          Query whether this object accepts values for the given property.
 FlowSpec basicGetRefines()
           
 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)
           
 FeatureReference getDstPortReference()
          get destination port reference
 java.lang.String getDstQualifiedName()
          get qualified destination name from link or parsed name
 void getPropertyValueInternal(PropertyDefinition pn, ModalPropertyValueAccumulator pva, boolean fromInstanceSlaveCall)
          Helper routine for computing the value of the property.
 AObject getReferencedObject()
          return as src of connection as referenced object
 RefinedReference getRefinedReference()
          returns the RefinedReference
 FlowSpec getRefines()
           
 AObject getSecondReferencedObject()
          return as dst of connection as referenced object
 FeatureReference getSrcPortReference()
          get n source port reference
 java.lang.String getSrcQualifiedName()
          get qualified source name from link or parsed name
 FlowPoint getXAllDst()
          get destination flow point of flow source, sink, or path spec.
 PortGroup getXAllDstContext()
          get destination flow context of flow source, sink, or path spec.
 FlowPoint getXAllSrc()
          get source flow point of flow source, sink, or path spec.
 PortGroup getXAllSrcContext()
          get source flow context of flow source, sink, or path spec.
 FlowPoint getXDst()
          get destination flow point of flow source, sink, or path spec
 PortGroup getXDstContext()
          get destination flow context of flow source, sink, or path spec
 FlowPoint getXSrc()
          get source flow point of flow source, sink, or path spec
 PortGroup getXSrcContext()
          get source flow context of flow source, sink, or path spec
 boolean isRefined()
          check refined flag
 void setDstPortReference(FeatureReference fr)
          set destination port reference
 void setRefined(boolean rf)
          set the refined flag (parsing information)
 void setRefinedReference(RefinedReference rr)
          sets the RefinedReference prased object
 void setRefines(FlowSpec newRefines)
          phf: we want an add version for EList
 void setSrcPortReference(FeatureReference fr)
          set n source port reference
 
Methods inherited from class edu.cmu.sei.aadl.model.core.impl.PropertyHolderImpl
addProperty, addPropertyValue, basicSetProperties, checkPropertyAssociation, createAccumulator, createPropertyAssociation, eInverseRemove, 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, toString
 
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, 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, 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, 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

srcReference

protected FeatureReference srcReference
holds parsed feature reference


dstReference

protected FeatureReference dstReference

rr

protected RefinedReference rr

refined

protected boolean refined

refines

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

See Also:
getRefines()
Constructor Detail

FlowSpecImpl

protected FlowSpecImpl()

Method Detail

eStaticClass

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

Overrides:
eStaticClass in class PropertyHolderImpl

getRefines

public FlowSpec getRefines()

Specified by:
getRefines in interface FlowSpec
Returns:
the value of the 'Refines' reference.
See Also:
FlowSpec.setRefines(FlowSpec), FlowPackage.getFlowSpec_Refines()

basicGetRefines

public FlowSpec basicGetRefines()


setRefines

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

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

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

setSrcPortReference

public void setSrcPortReference(FeatureReference fr)
set n source port reference

Specified by:
setSrcPortReference in interface FlowSpec
Parameters:
fr -

setDstPortReference

public void setDstPortReference(FeatureReference fr)
set destination port reference

Specified by:
setDstPortReference in interface FlowSpec
Parameters:
fr -

getSrcPortReference

public FeatureReference getSrcPortReference()
get n source port reference

Specified by:
getSrcPortReference in interface FlowSpec
Returns:
feature reference

getDstPortReference

public FeatureReference getDstPortReference()
get destination port reference

Specified by:
getDstPortReference in interface FlowSpec
Returns:
feature reference

getSrcQualifiedName

public java.lang.String getSrcQualifiedName()
get qualified source name from link or parsed name

Specified by:
getSrcQualifiedName in interface FlowSpec
Returns:
string

getDstQualifiedName

public java.lang.String getDstQualifiedName()
get qualified destination name from link or parsed name

Specified by:
getDstQualifiedName in interface FlowSpec
Returns:
string

getXSrc

public FlowPoint getXSrc()
get source flow point of flow source, sink, or path spec

Specified by:
getXSrc in interface FlowSpec
Returns:
FlowPoint or null

getXAllSrc

public FlowPoint getXAllSrc()
get source flow point of flow source, sink, or path spec. In case of a refined flowspec get it from the flowspec being refined

Specified by:
getXAllSrc in interface FlowSpec
Returns:
FlowPoint or null

getXDst

public FlowPoint getXDst()
get destination flow point of flow source, sink, or path spec

Specified by:
getXDst in interface FlowSpec
Returns:
FlowPoint or null

getXAllDst

public FlowPoint getXAllDst()
get destination flow point of flow source, sink, or path spec. In case of a refined flowspec get it from the flowspec being refined

Specified by:
getXAllDst in interface FlowSpec
Returns:
FlowPoint or null

getXSrcContext

public PortGroup getXSrcContext()
get source flow context of flow source, sink, or path spec

Specified by:
getXSrcContext in interface FlowSpec
Returns:
PortGroup or null

getXAllSrcContext

public PortGroup getXAllSrcContext()
get source flow context of flow source, sink, or path spec. In case of a refined flowspec get it from the flowspec being refined

Specified by:
getXAllSrcContext in interface FlowSpec
Returns:
PortGroup or null

getXDstContext

public PortGroup getXDstContext()
get destination flow context of flow source, sink, or path spec

Specified by:
getXDstContext in interface FlowSpec
Returns:
PortGroup or null

getXAllDstContext

public PortGroup getXAllDstContext()
get destination flow context of flow source, sink, or path spec. In case of a refined flowspec get it from the flowspec being refined

Specified by:
getXAllDstContext in interface FlowSpec
Returns:
PortGroup or null

setRefinedReference

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

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

getRefinedReference

public RefinedReference getRefinedReference()
returns the RefinedReference

Specified by:
getRefinedReference in interface FlowSpec
Returns:
RefinedReference

setRefined

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

Specified by:
setRefined in interface FlowSpec
Parameters:
rf -

isRefined

public boolean isRefined()
check refined flag

Specified by:
isRefined in interface FlowSpec
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 final 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.

getReferencedObject

public AObject getReferencedObject()
return as src of connection as referenced object

Specified by:
getReferencedObject in interface AObject
Overrides:
getReferencedObject in class AObjectImpl

getSecondReferencedObject

public AObject getSecondReferencedObject()
return as dst of connection as referenced object

Specified by:
getSecondReferencedObject in interface AObject
Overrides:
getSecondReferencedObject in class AObjectImpl