## org.eclipse.uml2.uml
Interface Element

All Superinterfaces:
  org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.notify.Notifier

All Known Subinterfaces:
  Abstraction, AcceptCallAction, AcceptEventAction, Action, ActionExecutionSpecification, ActionInputPin, Activity, ActivityEdge, ActivityFinalNode, ActivityGroup, ActivityNode, ActivityParameterNode, ActivityPartition, Actor, AddStructuralFeatureValueAction, AddVariableValueAction, AnyReceiveEvent, Artifact, Association, AssociationClass, Behavior, BehavioralFeature, BehavioredClassifier, BehaviorExecutionSpecification, BroadcastSignalAction, CallAction, CallBehaviorAction, CallEvent, CallOperationAction, CentralBufferNode, ChangeEvent, Class, Classifier, ClassifierTemplateParameter, Clause, ClearAssociationAction, ClearStructuralFeatureAction, ClearVariableAction, Collaboration, CollaborationUse, CombinedFragment, Comment, CommunicationPath, Component, ComponentRealization, ConditionalNode, ConnectableElement, ConnectableElementTemplateParameter, ConnectionPointReference, Connector, ConnectorEnd, ConsiderIgnoreFragment, Constraint, Continuation, ControlFlow, ControlNode, CreateLinkAction, CreateLinkObjectAction, CreateObjectAction, CreationEvent, DataStoreNode, DataType, DecisionNode, Dependency, DeployedArtifact, Deployment, DeploymentSpecification, DeploymentTarget, DestroyLinkAction, DestroyObjectAction, DestructionEvent, Device, DirectedRelationship, Duration, DurationConstraint, DurationInterval, DurationObservation, ElementImport, EncapsulatedClassifier, Enumeration, EnumerationLiteral, Event, ExceptionHandler, ExecutableNode, ExecutionEnvironment, ExecutionEvent, ExecutionOccurrenceSpecification, ExecutionSpecification, ExpansionNode, ExpansionRegion, Expression, Extend, Extension, ExtensionEnd, ExtensionPoint, Feature, FinalNode, FinalState, FlowFinalNode, ForkNode, FunctionBehavior, Gate, Generalization, GeneralizationSet, GeneralOrdering, Image, Include, InformationFlow, InformationItem, InitialNode, InputPin, InstanceSpecification, InstanceValue, Interaction, InteractionConstraint, InteractionFragment, InteractionOperand, InteractionUse, Interface, InterfaceRealization, InterruptibleActivityRegion, Interval, IntervalConstraint, InvocationAction, JoinNode, Lifeline, LinkAction, LinkEndCreationData, LinkEndData, LinkEndDestructionData, LiteralBoolean, LiteralInteger, LiteralNull, LiteralSpecification, LiteralString, LiteralUnlimitedNatural, LoopNode, Manifestation, MergeNode, Message, MessageEnd, MessageEvent, MessageOccurrenceSpecification, Model, MultiplicityElement, NamedElement, Namespace, Node, ObjectFlow, ObjectNode, Observation, OccurrenceSpecification, OpaqueAction, OpaqueBehavior, OpaqueExpression, Operation, OperationTemplateParameter, OutputPin, Package, PackageableElement, PackageImport, PackageMerge, Parameter, ParameterableElement, ParameterSet, PartDecomposition, Pin, Port, PrimitiveType, Profile, ProfileApplication, Property, ProtocolConformance, ProtocolStateMachine, ProtocolTransition, Pseudostate, QualifierValue, RaiseExceptionAction, ReadExtentAction, ReadIsClassifiedObjectAction, ReadLinkAction, ReadLinkObjectEndAction, ReadLinkObjectEndQualifierAction, ReadSelfAction, ReadStructuralFeatureAction, ReadVariableAction, Realization, ReceiveOperationEvent, ReceiveSignalEvent, Reception, ReclassifyObjectAction, RedefinableElement, RedefinableTemplateSignature, ReduceAction, Region, Relationship, RemoveStructuralFeatureValueAction, RemoveVariableValueAction, ReplyAction, SendObjectAction, SendOperationEvent, SendSignalAction, SendSignalEvent, SequenceNode, Signal, SignalEvent, Slot, StartClassifierBehaviorAction, State, StateInvariant, StateMachine, Stereotype, StringExpression, StructuralFeature, StructuralFeatureAction, StructuredActivityNode, StructuredClassifier, Substitution, TemplateableElement, TemplateBinding, TemplateParameter, TemplateParameterSubstitution, TemplateSignature, TestIdentityAction, TimeConstraint, TimeEvent, TimeExpression, TimeInterval, TimeObservation, Transition, Trigger, Type, TypedElement, UnmarshallAction, Usage, UseCase, ValuePin, ValueSpecification, ValueSpecificationAction, Variable, VariableAction, Vertex, WriteLinkAction, WriteStructuralFeatureAction, WriteVariableAction

    public interface Element

extends org.eclipse.emf.ecore.EModelElement

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

The following features are supported:

- `Owned Element`
- `Owner`
- `Owned Comment`

See Also:
  `UMLPackage.getElement()`

Method Summary
`boolean` `addKeyword(java.lang.String keyword)` Adds the specified keyword to this element.
`org.eclipse.emf.common.util.EList<Element>` `allOwnedElements()` The query allOwnedElements() gives all of the direct and indirect owned elements of an element.
`org.eclipse.emf.ecore.EObject` `applyStereotype(Stereotype stereotype)` Applies the specified stereotype to this element.
`org.eclipse.emf.ecore.EAnnotation` `createEAnnotation(java.lang.String source)` Creates an annotation with the specified source and this element as its model element.
`Comment` `createOwnedComment()` Creates a new `Comment` and appends it to the 'Owned Comment' containment reference list
`void` `destroy()` Destroys this element by removing all cross references to/from it and removing it from its containing resource or object
`Stereotype` `getApplicableStereotype(java.lang.String qualifiedName)` Retrieves the stereotype with the specified qualified name that is applicable to this element, or null if no such stereotype is applicable.
`org.eclipse.emf.common.util.EList<Stereotype>` `getApplicableStereotypes()` Retrieves the stereotypes that are applicable to this element, including those that are required and/or may already be applied
`Stereotype` `getAppliedStereotype(java.lang.String qualifiedName)` Retrieves the stereotype with the specified qualified name that is applied to this element, or null if no such stereotype is applied.
`org.eclipse.emf.common.util.EList<Stereotype>` `getAppliedStereotypes()` Retrieves the stereotypes that are applied to this element
`Stereotype` `getAppliedSubstereotype(Stereotype stereotype, java.lang.String qualifiedName)` Retrieves the substereotype of the specified stereotype with the specified qualified name that is applied to this element, or null if no such stereotype is applied.
`org.eclipse.emf.common.util.EList<Stereotype>` `getAppliedSubstereotypes(Stereotype stereotype)` Retrieves the substereotypes of the specified stereotype that are applied to this element.
`org.eclipse.emf.common.util.EList<java.lang.String>` `getKeywords()` Retrieves the keywords for this element
`Model` `getModel()` Retrieves the model that owns (either directly or indirectly) this element
`Package` `getNearestPackage()` Retrieves the nearest package that owns (either directly or indirectly) this element, or the element itself (if it is a package)
`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' reference list.
`Element` `getOwner()` Returns the value of the 'Owner' reference.
`org.eclipse.emf.common.util.EList<Relationship>` `getRelationships()` Retrieves the relationships in which this element is involved
`org.eclipse.emf.common.util.EList<Relationship>` `getRelationships(org.eclipse.emf.ecore.EClass eClass)` Retrieves the relationships of the specified type in which this element is involved.
`Stereotype` `getRequiredStereotype(java.lang.String qualifiedName)` Retrieves the stereotype with the specified qualified name that is required for this element, or null if no such stereotype is required.
`org.eclipse.emf.common.util.EList<Stereotype>` `getRequiredStereotypes()` Retrieves the stereotypes that are required for this element
`org.eclipse.emf.common.util.EList<DirectedRelationship>` `getSourceDirectedRelationships()` Retrieves the directed relationships for which this element is a source
`org.eclipse.emf.common.util.EList<DirectedRelationship>` `getSourceDirectedRelationships(org.eclipse.emf.ecore.EClass eClass)` Retrieves the directed relationships of the specified type for which this element is a source.
`org.eclipse.emf.ecore.EObject` `getStereotypeApplication(Stereotype stereotype)` Retrieves the application of the specified stereotype for this element, or null if no such stereotype application exists.
`org.eclipse.emf.common.util.EList<org.eclipse.emf.ecore.EObject>` `getStereotypeApplications()` Retrieves the stereotype applications for this element
`org.eclipse.emf.common.util.EList<DirectedRelationship>` `getTargetDirectedRelationships()` Retrieves the directed relationships for which this element is a target
`org.eclipse.emf.common.util.EList<DirectedRelationship>` `getTargetDirectedRelationships(org.eclipse.emf.ecore.EClass eClass)` Retrieves the directed relationships of the specified type for which this element is a target.
`java.lang.Object` `getValue(Stereotype stereotype, java.lang.String propertyName)` Retrieves the value of the property with the specified name in the specified stereotype for this element.
`boolean` `hasKeyword(java.lang.String keyword)` Determines whether this element has the specified keyword.
`boolean` `hasValue(Stereotype stereotype, java.lang.String propertyName)` Determines whether this element has a (non-default) value for the property with the specified name in the specified stereotype.
`boolean` `isStereotypeApplicable(Stereotype stereotype)` Determines whether the specified stereotype is applicable to this element.
`boolean` `isStereotypeApplied(Stereotype stereotype)` Determines whether the specified stereotype is applied to this element.
`boolean` `isStereotypeRequired(Stereotype stereotype)` Determines whether the specified stereotype is required for this element.
`boolean` `mustBeOwned()` The query mustBeOwned() indicates whether elements of this type must have an owner.
`boolean` `removeKeyword(java.lang.String keyword)` Removes the specified keyword from this element.
`void` `setValue(Stereotype stereotype, java.lang.String propertyName, java.lang.Object newValue)` Sets the value of the property with the specified name in the specified stereotype for this element.
`org.eclipse.emf.ecore.EObject` `unapplyStereotype(Stereotype stereotype)` Unapplies the specified stereotype from this element.
`boolean` `validateHasOwner(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` `validateNotOwnSelf(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 org.eclipse.emf.ecore.EModelElement
`getEAnnotation, getEAnnotations`

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`

Method Detail

### getOwnedElements

    org.eclipse.emf.common.util.EList<Element> getOwnedElements()

  Returns the value of the 'Owned Element' 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' reference list.
  See Also:
    `UMLPackage.getElement_OwnedElement()`, `getOwner()`

### getOwner

    Element getOwner()

  Returns the value of the 'Owner' 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' reference.
  See Also:
    `UMLPackage.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:

  - '`Owned Element`'
  The Comments owned by this element.

  Returns:
    the value of the 'Owned Comment' containment reference list.
  See Also:
    `UMLPackage.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()`

### validateNotOwnSelf

    boolean validateNotOwnSelf(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.

### validateHasOwner

    boolean validateHasOwner(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.

### getStereotypeApplications

    org.eclipse.emf.common.util.EList<org.eclipse.emf.ecore.EObject> getStereotypeApplications()

  Retrieves the stereotype applications for this element.

### getStereotypeApplication

    org.eclipse.emf.ecore.EObject getStereotypeApplication(Stereotype stereotype)

  Retrieves the application of the specified stereotype for this element, or null if no such stereotype application exists.

  Parameters:
    `stereotype` - The stereotype for which to retrieve an application.

### getRequiredStereotypes

    org.eclipse.emf.common.util.EList<Stereotype> getRequiredStereotypes()

  Retrieves the stereotypes that are required for this element.

### getRequiredStereotype

    Stereotype getRequiredStereotype(java.lang.String qualifiedName)

  Retrieves the stereotype with the specified qualified name that is required for this element, or null if no such stereotype is required.

  Parameters:
    `qualifiedName` - The qualified name of the required stereotype to retrieve.

### getAppliedStereotypes

    org.eclipse.emf.common.util.EList<Stereotype> getAppliedStereotypes()

  Retrieves the stereotypes that are applied to this element.

### getAppliedStereotype

    Stereotype getAppliedStereotype(java.lang.String qualifiedName)

  Retrieves the stereotype with the specified qualified name that is applied to this element, or null if no such stereotype is applied.

  Parameters:
    `qualifiedName` - The qualified name of the applied stereotype to retrieve.

### getAppliedSubstereotypes

    org.eclipse.emf.common.util.EList<Stereotype> getAppliedSubstereotypes(Stereotype stereotype)

  Retrieves the substereotypes of the specified stereotype that are applied to this element.

  Parameters:
    `stereotype` - The superstereotype of the applied substereotypes to retrieve.

### getAppliedSubstereotype

    Stereotype getAppliedSubstereotype(Stereotype stereotype,
                                       java.lang.String qualifiedName)

  Retrieves the substereotype of the specified stereotype with the specified qualified name that is applied to this element, or null if no such stereotype is applied.

  Parameters:
    `stereotype` - The superstereotype of the applied substereotype to retrieve.
    `qualifiedName` - The qualified name of the applied substereotype to retrieve.

### hasValue

    boolean hasValue(Stereotype stereotype,
                     java.lang.String propertyName)

  Determines whether this element has a (non-default) value for the property with the specified name in the specified stereotype.

  Parameters:
    `stereotype` - The stereotype for which to test the property.
    `propertyName` - The name of the property in question.

### getValue

    java.lang.Object getValue(Stereotype stereotype,
                              java.lang.String propertyName)

  Retrieves the value of the property with the specified name in the specified stereotype for this element.

  Parameters:
    `stereotype` - The stereotype for which to retrieve the value.
    `propertyName` - The name of the property whose value to retrieve.

### setValue

    void setValue(Stereotype stereotype,
                  java.lang.String propertyName,
                  java.lang.Object newValue)

  Sets the value of the property with the specified name in the specified stereotype for this element.

  Parameters:
    `stereotype` - The stereotype for which to set the value.
    `propertyName` - The name of the property whose value to set.
    `newValue` - The new value for the property.

### createEAnnotation

    org.eclipse.emf.ecore.EAnnotation createEAnnotation(java.lang.String source)

  Creates an annotation with the specified source and this element as its model element.

  Parameters:
    `source` - The source for the new annotation.

### getRelationships

    org.eclipse.emf.common.util.EList<Relationship> getRelationships()

  Retrieves the relationships in which this element is involved.

### getRelationships

    org.eclipse.emf.common.util.EList<Relationship> getRelationships(org.eclipse.emf.ecore.EClass eClass)

  Retrieves the relationships of the specified type in which this element is involved.

  Parameters:
    `eClass` - The (meta)type of the relationships to retrieve.

### getSourceDirectedRelationships

    org.eclipse.emf.common.util.EList<DirectedRelationship> getSourceDirectedRelationships()

  Retrieves the directed relationships for which this element is a source.

### getSourceDirectedRelationships

    org.eclipse.emf.common.util.EList<DirectedRelationship> getSourceDirectedRelationships(org.eclipse.emf.ecore.EClass eClass)

  Retrieves the directed relationships of the specified type for which this element is a source.

  Parameters:
    `eClass` - The (meta)type of the directed relationships to retrieve.

### getTargetDirectedRelationships

    org.eclipse.emf.common.util.EList<DirectedRelationship> getTargetDirectedRelationships()

  Retrieves the directed relationships for which this element is a target.

### getTargetDirectedRelationships

    org.eclipse.emf.common.util.EList<DirectedRelationship> getTargetDirectedRelationships(org.eclipse.emf.ecore.EClass eClass)

  Retrieves the directed relationships of the specified type for which this element is a target.

  Parameters:
    `eClass` - The (meta)type of the directed relationships to retrieve.

### getKeywords

    org.eclipse.emf.common.util.EList<java.lang.String> getKeywords()

  Retrieves the keywords for this element.

### addKeyword

    boolean addKeyword(java.lang.String keyword)

  Adds the specified keyword to this element.

  Parameters:
    `keyword` - The keyword to add.

### removeKeyword

    boolean removeKeyword(java.lang.String keyword)

  Removes the specified keyword from this element.

  Parameters:
    `keyword` - The keyword to remove.

### getNearestPackage

    Package getNearestPackage()

  Retrieves the nearest package that owns (either directly or indirectly) this element, or the element itself (if it is a package).

### getModel

    Model getModel()

  Retrieves the model that owns (either directly or indirectly) this element.

### isStereotypeApplicable

    boolean isStereotypeApplicable(Stereotype stereotype)

  Determines whether the specified stereotype is applicable to this element.

  Parameters:
    `stereotype` - The stereotype in question.

### isStereotypeRequired

    boolean isStereotypeRequired(Stereotype stereotype)

  Determines whether the specified stereotype is required for this element.

  Parameters:
    `stereotype` - The stereotype in question.

### isStereotypeApplied

    boolean isStereotypeApplied(Stereotype stereotype)

  Determines whether the specified stereotype is applied to this element.

  Parameters:
    `stereotype` - The stereotype in question.

### applyStereotype

    org.eclipse.emf.ecore.EObject applyStereotype(Stereotype stereotype)

  Applies the specified stereotype to this element.

  Parameters:
    `stereotype` - The stereotype to apply.

### unapplyStereotype

    org.eclipse.emf.ecore.EObject unapplyStereotype(Stereotype stereotype)

  Unapplies the specified stereotype from this element.

  Parameters:
    `stereotype` - The stereotype to unapply.

### getApplicableStereotypes

    org.eclipse.emf.common.util.EList<Stereotype> getApplicableStereotypes()

  Retrieves the stereotypes that are applicable to this element, including those that are required and/or may already be applied.

### getApplicableStereotype

    Stereotype getApplicableStereotype(java.lang.String qualifiedName)

  Retrieves the stereotype with the specified qualified name that is applicable to this element, or null if no such stereotype is applicable.

  Parameters:
    `qualifiedName` - The qualified name of the applicable stereotype to retrieve.

### hasKeyword

    boolean hasKeyword(java.lang.String keyword)

  Determines whether this element has the specified keyword.

  Parameters:
    `keyword` - The keyword in question.

### destroy

    void destroy()

  Destroys this element by removing all cross references to/from it and removing it from its containing resource or object.

### allOwnedElements

    org.eclipse.emf.common.util.EList<Element> allOwnedElements()

  The query allOwnedElements() gives all of the direct and indirect owned elements of an element. result = 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. result = true

Copyright 2003, 2007 IBM Corporation and others. All Rights Reserved.