edu.cmu.sei.aadl.aadl2
Interface Element

All Superinterfaces:
AObject, org.eclipse.emf.ecore.EObject, org.eclipse.core.runtime.IAdaptable, org.eclipse.emf.common.notify.Notifier
All Known Subinterfaces:
AadlBoolean, AadlInteger, AadlPackage, AadlReal, AadlString, Abstract, AbstractClassifier, AbstractFeature, AbstractImplementation, AbstractSubcomponent, AbstractType, Access, AccessConnection, AccessConnectionEnd, AccessSpecification, AnnexLibrary, AnnexSubclause, ArrayableElement, ArrayRange, ArraySize, ArraySpecification, BasicProperty, BasicPropertyAssociation, BehavioralFeature, BehavioredImplementation, BooleanLiteral, Bus, BusAccess, BusClassifier, BusImplementation, BusSubcomponent, BusType, CallContext, CalledSubprogram, CallSpecification, Classifier, ClassifierFeature, ClassifierType, ClassifierValue, Comment, ComponentClassifier, ComponentImplementation, ComponentImplementationReference, ComponentInstance, ComponentPrototype, ComponentPrototypeActual, ComponentPrototypeBinding, ComponentPrototypeReference, ComponentReference, ComponentType, ComponentTypeRename, ComputedValue, Connection, ConnectionEnd, ConnectionInstance, ConnectionInstanceEnd, ConnectionReference, ConstantValue, ContainedNamedElement, ContainmentPathElement, Context, Data, DataAccess, DataClassifier, DataImplementation, DataPort, DataSubcomponent, DataType, DefaultAnnexLibrary, DefaultAnnexSubclause, Device, DeviceClassifier, DeviceImplementation, DeviceSubcomponent, DeviceType, DirectedFeature, DirectedRelationship, EndToEndFlow, EndToEndFlowElement, EndToEndFlowInstance, EnumerationLiteral, EnumerationType, EnumerationValue, EventDataPort, EventPort, Feature, FeatureConnection, FeatureConnectionEnd, FeatureGroup, FeatureGroupConnection, FeatureGroupConnectionEnd, FeatureGroupPrototype, FeatureGroupPrototypeActual, FeatureGroupPrototypeBinding, FeatureGroupPrototypeReference, FeatureGroupReference, FeatureGroupType, FeatureGroupTypeRename, FeatureInstance, FeaturePrototype, FeaturePrototypeActual, FeaturePrototypeBinding, FeaturePrototypeReference, Flow, FlowElement, FlowElementInstance, FlowImplementation, FlowSpecification, FlowSpecificationInstance, Generalization, GlobalNamespace, GroupExtension, ImplementationExtension, InstanceObject, InstanceReferenceValue, IntegerLiteral, InternalEvent, ListValue, Memory, MemoryClassifier, MemoryImplementation, MemorySubcomponent, MemoryType, MetaclassReference, ModalElement, ModalPath, ModalPropertyValue, Mode, ModeBinding, ModeFeature, ModeInstance, ModeTransition, ModeTransitionInstance, ModeTransitionTrigger, NamedElement, Namespace, NumberType, NumberValue, Numeral, NumericRange, Operation, PackageRename, PackageSection, Parameter, ParameterConnection, ParameterConnectionEnd, Port, PortConnection, PortConnectionEnd, PortSpecification, PrivatePackageSection, Process, ProcessClassifier, ProcessImplementation, Processor, ProcessorCall, ProcessorClassifier, ProcessorImplementation, ProcessorPort, ProcessorSubcomponent, ProcessorSubprogram, ProcessorType, ProcessSubcomponent, ProcessType, Property, PropertyAssociation, PropertyConstant, PropertyExpression, PropertyOwner, PropertyReference, PropertySet, PropertyType, PropertyValue, Prototype, PrototypeBinding, PublicPackageSection, RangeType, RangeValue, Realization, RealLiteral, RecordField, RecordType, RecordValue, ReferenceType, ReferenceValue, RefinableElement, Relationship, StringLiteral, StructuralFeature, Subcomponent, SubcomponentFlow, Subprogram, SubprogramAccess, SubprogramCall, SubprogramCallSequence, SubprogramClassifier, SubprogramGroup, SubprogramGroupAccess, SubprogramGroupClassifier, SubprogramGroupImplementation, SubprogramGroupSubcomponent, SubprogramGroupType, SubprogramImplementation, SubprogramSubcomponent, SubprogramType, System, SystemClassifier, SystemImplementation, SystemInstance, SystemOperationMode, SystemSubcomponent, SystemType, Thread, ThreadClassifier, ThreadGroup, ThreadGroupClassifier, ThreadGroupImplementation, ThreadGroupSubcomponent, ThreadGroupType, ThreadImplementation, ThreadSubcomponent, ThreadType, TriggerPort, Type, TypedElement, TypeExtension, UnitLiteral, UnitsType, UnitValue, VirtualBus, VirtualBusClassifier, VirtualBusImplementation, VirtualBusSubcomponent, VirtualBusType, VirtualProcessor, VirtualProcessorClassifier, VirtualProcessorImplementation, VirtualProcessorSubcomponent, VirtualProcessorType
All Known Implementing Classes:
AadlBooleanImpl, AadlIntegerImpl, AadlPackageImpl, AadlRealImpl, AadlStringImpl, AbstractClassifierImpl, AbstractFeatureImpl, AbstractImpl, AbstractImplementationImpl, AbstractSubcomponentImpl, AbstractTypeImpl, AccessConnectionEndImpl, AccessConnectionImpl, AccessImpl, AccessSpecificationImpl, AnnexLibraryImpl, AnnexSubclauseImpl, ArrayableElementImpl, ArrayRangeImpl, ArraySizeImpl, ArraySpecificationImpl, BasicPropertyAssociationImpl, BasicPropertyImpl, BehavioralFeatureImpl, BehavioredImplementationImpl, BooleanLiteralImpl, BusAccessImpl, BusClassifierImpl, BusImpl, BusImplementationImpl, BusSubcomponentImpl, BusTypeImpl, CallContextImpl, CalledSubprogramImpl, CallSpecificationImpl, ClassifierFeatureImpl, ClassifierImpl, ClassifierTypeImpl, ClassifierValueImpl, CommentImpl, ComponentClassifierImpl, ComponentImplementationImpl, ComponentImplementationReferenceImpl, ComponentInstanceImpl, ComponentPrototypeActualImpl, ComponentPrototypeBindingImpl, ComponentPrototypeImpl, ComponentPrototypeReferenceImpl, ComponentReferenceImpl, ComponentTypeImpl, ComponentTypeRenameImpl, ComputedValueImpl, ConnectionEndImpl, ConnectionImpl, ConnectionInstanceEndImpl, ConnectionInstanceImpl, ConnectionReferenceImpl, ConstantValueImpl, ContainedNamedElementImpl, ContainmentPathElementImpl, ContextImpl, DataAccessImpl, DataClassifierImpl, DataImpl, DataImplementationImpl, DataPortImpl, DataSubcomponentImpl, DataTypeImpl, DefaultAnnexLibraryImpl, DefaultAnnexSubclauseImpl, DeviceClassifierImpl, DeviceImpl, DeviceImplementationImpl, DeviceSubcomponentImpl, DeviceTypeImpl, DirectedFeatureImpl, DirectedRelationshipImpl, ElementImpl, EndToEndFlowElementImpl, EndToEndFlowImpl, EndToEndFlowInstanceImpl, EnumerationLiteralImpl, EnumerationTypeImpl, EnumerationValueImpl, EventDataPortImpl, EventPortImpl, FeatureConnectionEndImpl, FeatureConnectionImpl, FeatureGroupConnectionEndImpl, FeatureGroupConnectionImpl, FeatureGroupImpl, FeatureGroupPrototypeActualImpl, FeatureGroupPrototypeBindingImpl, FeatureGroupPrototypeImpl, FeatureGroupPrototypeReferenceImpl, FeatureGroupReferenceImpl, FeatureGroupTypeImpl, FeatureGroupTypeRenameImpl, FeatureImpl, FeatureInstanceImpl, FeaturePrototypeActualImpl, FeaturePrototypeBindingImpl, FeaturePrototypeImpl, FeaturePrototypeReferenceImpl, FlowElementImpl, FlowElementInstanceImpl, FlowImpl, FlowImplementationImpl, FlowSpecificationImpl, FlowSpecificationInstanceImpl, GeneralizationImpl, GlobalNamespaceImpl, GroupExtensionImpl, ImplementationExtensionImpl, InstanceObjectImpl, InstanceReferenceValueImpl, IntegerLiteralImpl, InternalEventImpl, ListValueImpl, MemoryClassifierImpl, MemoryImpl, MemoryImplementationImpl, MemorySubcomponentImpl, MemoryTypeImpl, MetaclassReferenceImpl, ModalElementImpl, ModalPathImpl, ModalPropertyValueImpl, ModeBindingImpl, ModeFeatureImpl, ModeImpl, ModeInstanceImpl, ModeTransitionImpl, ModeTransitionInstanceImpl, ModeTransitionTriggerImpl, NamedElementImpl, NamespaceImpl, NumberTypeImpl, NumberValueImpl, NumeralImpl, NumericRangeImpl, OperationImpl, PackageRenameImpl, PackageSectionImpl, ParameterConnectionEndImpl, ParameterConnectionImpl, ParameterImpl, PortConnectionEndImpl, PortConnectionImpl, PortImpl, PortSpecificationImpl, PrivatePackageSectionImpl, ProcessClassifierImpl, ProcessImpl, ProcessImplementationImpl, ProcessorCallImpl, ProcessorClassifierImpl, ProcessorImpl, ProcessorImplementationImpl, ProcessorPortImpl, ProcessorSubcomponentImpl, ProcessorSubprogramImpl, ProcessorTypeImpl, ProcessSubcomponentImpl, ProcessTypeImpl, PropertyAssociationImpl, PropertyConstantImpl, PropertyExpressionImpl, PropertyImpl, PropertyOwnerImpl, PropertyReferenceImpl, PropertySetImpl, PropertyTypeImpl, PropertyValueImpl, PrototypeBindingImpl, PrototypeImpl, PublicPackageSectionImpl, RangeTypeImpl, RangeValueImpl, RealizationImpl, RealLiteralImpl, RecordFieldImpl, RecordTypeImpl, RecordValueImpl, ReferenceTypeImpl, ReferenceValueImpl, RefinableElementImpl, RelationshipImpl, StringLiteralImpl, StructuralFeatureImpl, SubcomponentFlowImpl, SubcomponentImpl, SubprogramAccessImpl, SubprogramCallImpl, SubprogramCallSequenceImpl, SubprogramClassifierImpl, SubprogramGroupAccessImpl, SubprogramGroupClassifierImpl, SubprogramGroupImpl, SubprogramGroupImplementationImpl, SubprogramGroupSubcomponentImpl, SubprogramGroupTypeImpl, SubprogramImpl, SubprogramImplementationImpl, SubprogramSubcomponentImpl, SubprogramTypeImpl, SystemClassifierImpl, SystemImpl, SystemImplementationImpl, SystemInstanceImpl, SystemOperationModeImpl, SystemSubcomponentImpl, SystemTypeImpl, ThreadClassifierImpl, ThreadGroupClassifierImpl, ThreadGroupImpl, ThreadGroupImplementationImpl, ThreadGroupSubcomponentImpl, ThreadGroupTypeImpl, ThreadImpl, ThreadImplementationImpl, ThreadSubcomponentImpl, ThreadTypeImpl, TriggerPortImpl, TypedElementImpl, TypeExtensionImpl, TypeImpl, UnitLiteralImpl, UnitsTypeImpl, UnitValueImpl, VirtualBusClassifierImpl, VirtualBusImpl, VirtualBusImplementationImpl, VirtualBusSubcomponentImpl, VirtualBusTypeImpl, VirtualProcessorClassifierImpl, VirtualProcessorImpl, VirtualProcessorImplementationImpl, VirtualProcessorSubcomponentImpl, VirtualProcessorTypeImpl

public interface Element
extends AObject

A representation of the model object 'Element'. An element is a constituent of a model. An element is a constituent of a model. As such, it has the capability of owning other elements.

The following features are supported:

See Also:
Aadl2Package.getElement()

Field Summary
 
Fields inherited from interface edu.cmu.sei.aadl.aadl2.parsesupport.AObject
copyright
 
Method Summary
 org.eclipse.emf.common.util.EList<Element> allOwnedElements()
          The query allOwnedElements() gives all of the direct and indirect owned elements of an element.
 Comment createOwnedComment()
          Creates a new Comment and appends it to the 'Owned Comment' containment reference list
 org.eclipse.emf.common.util.EList<Element> getChildren()
          Get the children of an Element This will be the content.
 Classifier getContainingClassifier()
          Get the enclosing component type or implementation or Feature Group Type.
 ComponentImplementation getContainingComponentImpl()
          Get the enclosing component implementation.
 Element getElementRoot()
          find the root container of this element
 org.eclipse.emf.common.util.EList<Comment> getOwnedComments()
          Returns the value of the 'Owned Comment' containment reference list.
 org.eclipse.emf.common.util.EList<Element> getOwnedElements()
          Returns the value of the 'Owned Element' containment reference list.
 Element getOwner()
          Returns the value of the 'Owner' container reference.
 boolean has_owner(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          Elements that must be owned must have an owner.
 boolean mustBeOwned()
          The query mustBeOwned() indicates whether elements of this type must have an owner.
 boolean not_own_self(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          An element may not directly or indirectly own itself.
 
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
 

Method Detail

getOwnedElements

org.eclipse.emf.common.util.EList<Element> getOwnedElements()
Returns the value of the 'Owned Element' containment reference list. The list contents are of type Element. It is bidirectional and its opposite is 'Owner'. This feature is a derived union. The Elements owned by this element.

Returns:
the value of the 'Owned Element' containment reference list.
See Also:
Aadl2Package.getElement_OwnedElement(), getOwner()

getOwner

Element getOwner()
Returns the value of the 'Owner' container reference. It is bidirectional and its opposite is 'Owned Element'. This feature is a derived union. The Element that owns this element.

Returns:
the value of the 'Owner' container reference.
See Also:
Aadl2Package.getElement_Owner(), getOwnedElements()

getOwnedComments

org.eclipse.emf.common.util.EList<Comment> getOwnedComments()
Returns the value of the 'Owned Comment' containment reference list. The list contents are of type Comment.

This feature subsets the following features:

The Comments owned by this element.

Returns:
the value of the 'Owned Comment' containment reference list.
See Also:
Aadl2Package.getElement_OwnedComment()

createOwnedComment

Comment createOwnedComment()
Creates a new Comment and appends it to the 'Owned Comment' containment reference list.

Returns:
The new Comment.
See Also:
getOwnedComments()

not_own_self

boolean not_own_self(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                     java.util.Map<java.lang.Object,java.lang.Object> context)
An element may not directly or indirectly own itself. not self.allOwnedElements()->includes(self)

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

has_owner

boolean has_owner(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                  java.util.Map<java.lang.Object,java.lang.Object> context)
Elements that must be owned must have an owner. self.mustBeOwned() implies owner->notEmpty()

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

allOwnedElements

org.eclipse.emf.common.util.EList<Element> allOwnedElements()
The query allOwnedElements() gives all of the direct and indirect owned elements of an element. ownedElement->union(ownedElement->collect(e | e.allOwnedElements()))


mustBeOwned

boolean mustBeOwned()
The query mustBeOwned() indicates whether elements of this type must have an owner. Subclasses of Element that do not require an owner must override this operation. true


getElementRoot

Element getElementRoot()
find the root container of this element

Returns:
Element object

getChildren

org.eclipse.emf.common.util.EList<Element> getChildren()
Get the children of an Element This will be the content. In case of modal ComponentInstance this method is overwritten to provide mode-specific children, i.e., the subset that is active in a given mode

Returns:
EList Element

getContainingClassifier

Classifier getContainingClassifier()
Get the enclosing component type or implementation or Feature Group Type.

Returns:
containing classifier or null

getContainingComponentImpl

ComponentImplementation getContainingComponentImpl()
Get the enclosing component implementation.

Returns:
containing ComponentImpl or null