edu.cmu.sei.aadl.aadl2.instance.impl
Class ConnectionInstanceImpl

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.instance.impl.InstanceObjectImpl
                              extended by edu.cmu.sei.aadl.aadl2.instance.impl.FlowElementInstanceImpl
                                  extended by edu.cmu.sei.aadl.aadl2.instance.impl.ConnectionInstanceImpl
All Implemented Interfaces:
Element, ConnectionInstance, FlowElementInstance, InstanceObject, NamedElement, AObject, org.eclipse.core.runtime.IAdaptable, org.eclipse.emf.common.notify.Notifier, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.InternalEObject

public class ConnectionInstanceImpl
extends FlowElementInstanceImpl
implements ConnectionInstance

An implementation of the model object 'Connection Instance'.

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  boolean complete
          The cached value of the 'Complete' attribute
protected static boolean COMPLETE_EDEFAULT
          The default value of the 'Complete' attribute
protected  org.eclipse.emf.common.util.EList<ConnectionReference> connectionReferences
          The cached value of the 'Connection Reference' containment reference list
protected  ConnectionInstanceEnd destination
          The cached value of the 'Destination' reference
protected  org.eclipse.emf.common.util.EList<ModeTransitionInstance> inModeTransitions
          The cached value of the 'In Mode Transitions' reference list
protected  org.eclipse.emf.common.util.EList<SystemOperationMode> inSystemOperationModes
          The cached value of the 'In System Operation Mode' reference list
protected  ConnectionKind kind
          The cached value of the 'Kind' attribute
protected static ConnectionKind KIND_EDEFAULT
          The default value of the 'Kind' attribute
protected  ConnectionInstanceEnd source
          The cached value of the 'Source' reference
 
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 ConnectionInstanceImpl()
           
 
Method Summary
 boolean acceptsProperty(Property property)
          Query whether this object accepts values for the given property.
 ConnectionInstanceEnd basicGetDestination()
           
 ConnectionInstanceEnd basicGetSource()
           
 org.eclipse.emf.common.notify.NotificationChain basicSetDestination(ConnectionInstanceEnd newDestination, org.eclipse.emf.common.notify.NotificationChain msgs)
           
 org.eclipse.emf.common.notify.NotificationChain basicSetSource(ConnectionInstanceEnd newSource, org.eclipse.emf.common.notify.NotificationChain msgs)
           
 ConnectionReference createConnectionReference()
           
 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)
           
 java.util.List<ModalPropertyValue> getConnectionPropertyValues(Property property)
          Get the values associated with the given property for each connection declaration that defines this semantic connection.
 org.eclipse.emf.common.util.EList<ConnectionReference> getConnectionReferences()
           
 ConnectionInstanceEnd getDestination()
           
 java.util.List<SystemOperationMode> getExistsInModes()
          Returns the System Operation Modes in which the element exists, or null if the element always exists.
 org.eclipse.emf.common.util.EList<ModeTransitionInstance> getInModeTransitions()
           
 java.util.List<Connection> getInstantiatedObjects()
          Get the property value from the declarative model elements associated with the instance object.
 org.eclipse.emf.common.util.EList<SystemOperationMode> getInSystemOperationModes()
           
 ConnectionKind getKind()
           
 ConnectionInstanceEnd getSource()
           
 java.util.List<InstanceObject> getThroughFeatureInstances()
          Get the feature instances that this semantic connection passes through including the ultimate start and end points.
 boolean isActive(SystemOperationMode som)
           
 boolean isComplete()
           
 void setComplete(boolean newComplete)
           
 void setDestination(ConnectionInstanceEnd newDestination)
           
 void setKind(ConnectionKind newKind)
           
 void setSource(ConnectionInstanceEnd newSource)
           
 java.lang.String toString()
           
 
Methods inherited from class edu.cmu.sei.aadl.aadl2.instance.impl.InstanceObjectImpl
getComponentInstancePath, getContainingComponentInstance, getContainingComponentInstanceOrSelf, getInstanceObjectPath, getPropertyValueFromDeclarativeModel, getPropertyValueInternal, getSystemInstance
 
Methods inherited from class edu.cmu.sei.aadl.aadl2.impl.NamedElementImpl
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
 
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, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicSetContainer, eComputeVirtualValuesCapacity, eContainer, eContainerAdapterArray, 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, 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.instance.InstanceObject
getComponentInstancePath, getContainingComponentInstance, getInstanceObjectPath, getSystemInstance
 
Methods inherited from interface edu.cmu.sei.aadl.aadl2.NamedElement
allNamespaces, checkPropertyAssociation, createOwnedPropertyAssociation, getName, getNamespace, getOwnedPropertyAssociations, getPropertyValue, getPropertyValueInternal, 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

inSystemOperationModes

protected org.eclipse.emf.common.util.EList<SystemOperationMode> inSystemOperationModes
The cached value of the 'In System Operation Mode' reference list.

See Also:
getInSystemOperationModes()

inModeTransitions

protected org.eclipse.emf.common.util.EList<ModeTransitionInstance> inModeTransitions
The cached value of the 'In Mode Transitions' reference list.

See Also:
getInModeTransitions()

COMPLETE_EDEFAULT

protected static final boolean COMPLETE_EDEFAULT
The default value of the 'Complete' attribute.

See Also:
isComplete(), Constant Field Values

complete

protected boolean complete
The cached value of the 'Complete' attribute.

See Also:
isComplete()

KIND_EDEFAULT

protected static final ConnectionKind KIND_EDEFAULT
The default value of the 'Kind' attribute.

See Also:
getKind()

kind

protected ConnectionKind kind
The cached value of the 'Kind' attribute.

See Also:
getKind()

destination

protected ConnectionInstanceEnd destination
The cached value of the 'Destination' reference.

See Also:
getDestination()

connectionReferences

protected org.eclipse.emf.common.util.EList<ConnectionReference> connectionReferences
The cached value of the 'Connection Reference' containment reference list.

See Also:
getConnectionReferences()

source

protected ConnectionInstanceEnd source
The cached value of the 'Source' reference.

See Also:
getSource()
Constructor Detail

ConnectionInstanceImpl

protected ConnectionInstanceImpl()

Method Detail

eStaticClass

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

Overrides:
eStaticClass in class FlowElementInstanceImpl

getInSystemOperationModes

public org.eclipse.emf.common.util.EList<SystemOperationMode> getInSystemOperationModes()

Specified by:
getInSystemOperationModes in interface ConnectionInstance
Returns:
the value of the 'In System Operation Mode' reference list.
See Also:
InstancePackage.getConnectionInstance_InSystemOperationMode()

getInModeTransitions

public org.eclipse.emf.common.util.EList<ModeTransitionInstance> getInModeTransitions()

Specified by:
getInModeTransitions in interface ConnectionInstance
Returns:
the value of the 'In Mode Transitions' reference list.
See Also:
InstancePackage.getConnectionInstance_InModeTransitions()

isComplete

public boolean isComplete()

Specified by:
isComplete in interface ConnectionInstance
Returns:
the value of the 'Complete' attribute.
See Also:
ConnectionInstance.setComplete(boolean), InstancePackage.getConnectionInstance_Complete()

setComplete

public void setComplete(boolean newComplete)

Specified by:
setComplete in interface ConnectionInstance
Parameters:
newComplete - the new value of the 'Complete' attribute.
See Also:
ConnectionInstance.isComplete()

getKind

public ConnectionKind getKind()

Specified by:
getKind in interface ConnectionInstance
Returns:
the value of the 'Kind' attribute.
See Also:
ConnectionKind, ConnectionInstance.setKind(ConnectionKind), InstancePackage.getConnectionInstance_Kind()

setKind

public void setKind(ConnectionKind newKind)

Specified by:
setKind in interface ConnectionInstance
Parameters:
newKind - the new value of the 'Kind' attribute.
See Also:
ConnectionKind, ConnectionInstance.getKind()

getDestination

public ConnectionInstanceEnd getDestination()

Specified by:
getDestination in interface ConnectionInstance
Returns:
the value of the 'Destination' reference.
See Also:
ConnectionInstance.setDestination(ConnectionInstanceEnd), InstancePackage.getConnectionInstance_Destination(), ConnectionInstanceEnd.getDstConnectionInstances()

basicGetDestination

public ConnectionInstanceEnd basicGetDestination()


basicSetDestination

public org.eclipse.emf.common.notify.NotificationChain basicSetDestination(ConnectionInstanceEnd newDestination,
                                                                           org.eclipse.emf.common.notify.NotificationChain msgs)


setDestination

public void setDestination(ConnectionInstanceEnd newDestination)

Specified by:
setDestination in interface ConnectionInstance
Parameters:
newDestination - the new value of the 'Destination' reference.
See Also:
ConnectionInstance.getDestination()

getConnectionReferences

public org.eclipse.emf.common.util.EList<ConnectionReference> getConnectionReferences()

Specified by:
getConnectionReferences in interface ConnectionInstance
Returns:
the value of the 'Connection Reference' containment reference list.
See Also:
InstancePackage.getConnectionInstance_ConnectionReference()

createConnectionReference

public ConnectionReference createConnectionReference()

Specified by:
createConnectionReference in interface ConnectionInstance
Returns:
The new ConnectionReference.
See Also:
ConnectionInstance.getConnectionReferences()

getSource

public ConnectionInstanceEnd getSource()

Specified by:
getSource in interface ConnectionInstance
Returns:
the value of the 'Source' reference.
See Also:
ConnectionInstance.setSource(ConnectionInstanceEnd), InstancePackage.getConnectionInstance_Source(), ConnectionInstanceEnd.getSrcConnectionInstances()

basicGetSource

public ConnectionInstanceEnd basicGetSource()


basicSetSource

public org.eclipse.emf.common.notify.NotificationChain basicSetSource(ConnectionInstanceEnd newSource,
                                                                      org.eclipse.emf.common.notify.NotificationChain msgs)


setSource

public void setSource(ConnectionInstanceEnd newSource)

Specified by:
setSource in interface ConnectionInstance
Parameters:
newSource - the new value of the 'Source' reference.
See Also:
ConnectionInstance.getSource()

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 NamedElementImpl

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 NamedElementImpl

eSet

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

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

eUnset

public void eUnset(int featureID)

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

eIsSet

public boolean eIsSet(int featureID)

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

toString

public java.lang.String toString()

Overrides:
toString in class NamedElementImpl

getExistsInModes

public final java.util.List<SystemOperationMode> getExistsInModes()
Description copied from class: InstanceObjectImpl
Returns the System Operation Modes in which the element exists, or null if the element always exists.

Specified by:
getExistsInModes in interface InstanceObject
Overrides:
getExistsInModes in class InstanceObjectImpl
Returns:

getInstantiatedObjects

public java.util.List<Connection> getInstantiatedObjects()
Get the property value from the declarative model elements associated with the instance object. This implementation works for Semantic Connections and the multiple connections that are instantiated to create the single ConnectionInstance.

Specified by:
getInstantiatedObjects in interface InstanceObject
Overrides:
getInstantiatedObjects in class InstanceObjectImpl
Parameters:
property - The property to lookup
pva - The property value accumulator to use to build the property value
Returns:
A List of NamedElement objects that should be declarative model elements. Returns an empty list if no named declarative object exists, such as in the case of ModeTransitionInstances.
Throws:
InvalidModelException - Thrown if the property value cannot be retrieved because the model is incomplete or otherwise invalid.

acceptsProperty

public boolean acceptsProperty(Property property)
Description copied from interface: NamedElement
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 NamedElement
Overrides:
acceptsProperty in class InstanceObjectImpl
Parameters:
property - The property definition to test.
Returns:
true if the given property applies to this element.

getThroughFeatureInstances

public java.util.List<InstanceObject> getThroughFeatureInstances()
Description copied from interface: ConnectionInstance
Get the feature instances that this semantic connection passes through including the ultimate start and end points. The features are returned in the order in which they are passed through.

Specified by:
getThroughFeatureInstances in interface ConnectionInstance
Returns:
A list of InstanceObjects. The first item in the list will be a ComponentInstance if the connection is an access connection. In this case, the component is the data or bus component that is being accessed through the connection. In all other cases the first element will be a FeatureInstance. All subsequent elements in the list are always FeatureInstance objects.

isActive

public boolean isActive(SystemOperationMode som)
Specified by:
isActive in interface InstanceObject

getConnectionPropertyValues

public java.util.List<ModalPropertyValue> getConnectionPropertyValues(Property property)
                                                               throws InvalidModelException
Description copied from interface: ConnectionInstance
Get the values associated with the given property for each connection declaration that defines this semantic connection.

Specified by:
getConnectionPropertyValues in interface ConnectionInstance
Parameters:
property - The property to look up
Returns:
A list of AadlModalPropertyValue objects, one for each connection declaration. The objects are in the same order as the connection declaration objects returned by #getConnections(). Furthermore, the values are in terms of the connection instance object, that is, modal dependencies are given in terms of system operation modes, and reference values have been resolved to point to instance objects.
Throws:
InvalidModelException - Thrown if the property values cannot be retrieved because the model is incomplete.