org.eclipse.uml2.uml
Interface NamedElement

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

public interface NamedElement
extends Element

A representation of the model object 'Named Element'. A named element is an element in a model that may have a name. A named element supports using a string expression to specify its name. This allows names of model elements to involve template parameters. The actual name is evaluated from the string expression only when it is sensible to do so (e.g., when a template is bound).

The following features are supported:

See Also:
UMLPackage.getNamedElement()

Field Summary
static String SEPARATOR
           
 
Method Summary
 EList allNamespaces()
           The query allNamespaces() gives the sequence of namespaces in which the NamedElement is nested, working outwards.
 EList allOwningPackages()
           The query allOwningPackages() returns all the directly or indirectly owning packages.
 Dependency createDependency(NamedElement supplier)
           Creates a dependency between this named element and the specified supplier, owned by this named element's nearest package
 StringExpression createNameExpression(String name, Type type)
          Creates a new StringExpression,with the specified 'Name', and 'Type', and sets the 'Name Expression' containment reference
 EList getClientDependencies()
          Returns the value of the 'Client Dependency' reference list.
 Dependency getClientDependency(String name)
          Retrieves the first Dependency with the specified 'Name' from the 'Client Dependency' reference list
 Dependency getClientDependency(String name, boolean ignoreCase, EClass eClass)
          Retrieves the first Dependency with the specified 'Name' from the 'Client Dependency' reference list
 String getLabel()
           Retrieves a localized label for this named element
 String getLabel(boolean localize)
           Retrieves a label for this named element, localized if indicated
 String getName()
          Returns the value of the 'Name' attribute
 StringExpression getNameExpression()
          Returns the value of the 'Name Expression' containment reference
 Namespace getNamespace()
          Returns the value of the 'Namespace' reference.
 String getQualifiedName()
          Returns the value of the 'Qualified Name' attribute
 VisibilityKind getVisibility()
          Returns the value of the 'Visibility' attribute.
 boolean isDistinguishableFrom(NamedElement n, Namespace ns)
           The query isDistinguishableFrom() determines whether two NamedElements may logically co-exist within a Namespace.
 boolean isSetName()
          Returns whether the value of the 'Name' attribute is set
 boolean isSetVisibility()
          Returns whether the value of the 'Visibility' attribute is set
 String separator()
           The query separator() gives the string that is used to separate names when constructing a qualified name.
 void setName(String value)
          Sets the value of the 'Name' attribute
 void setNameExpression(StringExpression value)
          Sets the value of the 'Name Expression' containment reference
 void setVisibility(VisibilityKind value)
          Sets the value of the 'Visibility' attribute
 void unsetName()
          Unsets the value of the 'Name' attribute
 void unsetVisibility()
          Unsets the value of the 'Visibility' attribute
 boolean validateHasNoQualifiedName(DiagnosticChain diagnostics, Map context)
           If there is no name, or one of the containing namespaces has no name, there is no qualified name.
 boolean validateHasQualifiedName(DiagnosticChain diagnostics, Map context)
           When there is a name, and all of the containing namespaces have a name, the qualified name is constructed from the names of the containing namespaces.
 boolean validateVisibilityNeedsOwnership(DiagnosticChain diagnostics, Map context)
           If a NamedElement is not owned by a Namespace, it does not have a visibility.
 
Methods inherited from interface org.eclipse.uml2.uml.Element
addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf
 
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
 

Field Detail

SEPARATOR

public static final String SEPARATOR
See Also:
Constant Field Values
Method Detail

getName

public String getName()
Returns the value of the 'Name' attribute. The name of the NamedElement.

Returns:
the value of the 'Name' attribute.
See Also:
NamedElement.isSetName(), NamedElement.unsetName(), NamedElement.setName(String), UMLPackage.getNamedElement_Name()

setName

public void setName(String value)
Sets the value of the 'Name' attribute.

Parameters:
value - the new value of the 'Name' attribute.
See Also:
NamedElement.isSetName(), NamedElement.unsetName(), NamedElement.getName()

unsetName

public void unsetName()
Unsets the value of the 'Name' attribute.

See Also:
NamedElement.isSetName(), NamedElement.getName(), NamedElement.setName(String)

isSetName

public boolean isSetName()
Returns whether the value of the 'Name' attribute is set.

Returns:
whether the value of the 'Name' attribute is set.
See Also:
NamedElement.unsetName(), NamedElement.getName(), NamedElement.setName(String)

getVisibility

public VisibilityKind getVisibility()
Returns the value of the 'Visibility' attribute. The literals are from the enumeration VisibilityKind. Determines where the NamedElement appears within different Namespaces within the overall model, and its accessibility.

Returns:
the value of the 'Visibility' attribute.
See Also:
VisibilityKind, NamedElement.isSetVisibility(), NamedElement.unsetVisibility(), NamedElement.setVisibility(VisibilityKind), UMLPackage.getNamedElement_Visibility()

setVisibility

public void setVisibility(VisibilityKind value)
Sets the value of the 'Visibility' attribute.

Parameters:
value - the new value of the 'Visibility' attribute.
See Also:
VisibilityKind, NamedElement.isSetVisibility(), NamedElement.unsetVisibility(), NamedElement.getVisibility()

unsetVisibility

public void unsetVisibility()
Unsets the value of the 'Visibility' attribute.

See Also:
NamedElement.isSetVisibility(), NamedElement.getVisibility(), NamedElement.setVisibility(VisibilityKind)

isSetVisibility

public boolean isSetVisibility()
Returns whether the value of the 'Visibility' attribute is set.

Returns:
whether the value of the 'Visibility' attribute is set.
See Also:
NamedElement.unsetVisibility(), NamedElement.getVisibility(), NamedElement.setVisibility(VisibilityKind)

getQualifiedName

public String getQualifiedName()
Returns the value of the 'Qualified Name' attribute. A name which allows the NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from the names of the containing namespaces starting at the root of the hierarchy and ending with the name of the NamedElement itself.

Returns:
the value of the 'Qualified Name' attribute.
See Also:
UMLPackage.getNamedElement_QualifiedName()

getClientDependencies

public EList getClientDependencies()
Returns the value of the 'Client Dependency' reference list. The list contents are of type Dependency. It is bidirectional and its opposite is 'Client'. Indicates the dependencies that reference the client.

Returns:
the value of the 'Client Dependency' reference list.
See Also:
UMLPackage.getNamedElement_ClientDependency(), Dependency.getClients()

getClientDependency

public Dependency getClientDependency(String name)
Retrieves the first Dependency with the specified 'Name' from the 'Client Dependency' reference list.

Parameters:
name - The 'Name' of the Dependency to retrieve, or null.
Returns:
The first Dependency with the specified 'Name', or null.
See Also:
NamedElement.getClientDependencies()

getClientDependency

public Dependency getClientDependency(String name,
                                      boolean ignoreCase,
                                      EClass eClass)
Retrieves the first Dependency with the specified 'Name' from the 'Client Dependency' reference list.

Parameters:
name - The 'Name' of the Dependency to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
eClass - The Ecore class of the Dependency to retrieve, or null.
Returns:
The first Dependency with the specified 'Name', or null.
See Also:
NamedElement.getClientDependencies()

getNamespace

public Namespace getNamespace()
Returns the value of the 'Namespace' reference. It is bidirectional and its opposite is 'Owned Member'. Specifies the namespace that owns the NamedElement.

Returns:
the value of the 'Namespace' reference.
See Also:
UMLPackage.getNamedElement_Namespace(), Namespace.getOwnedMembers()

getNameExpression

public StringExpression getNameExpression()
Returns the value of the 'Name Expression' containment reference. The string expression used to define the name of this named element.

Returns:
the value of the 'Name Expression' containment reference.
See Also:
NamedElement.setNameExpression(StringExpression), UMLPackage.getNamedElement_NameExpression()

setNameExpression

public void setNameExpression(StringExpression value)
Sets the value of the 'Name Expression' containment reference.

Parameters:
value - the new value of the 'Name Expression' containment reference.
See Also:
NamedElement.getNameExpression()

createNameExpression

public StringExpression createNameExpression(String name,
                                             Type type)
Creates a new StringExpression,with the specified 'Name', and 'Type', and sets the 'Name Expression' containment reference.

Parameters:
name - The 'Name' for the new StringExpression, or null.
type - The 'Type' for the new StringExpression, or null.
Returns:
The new StringExpression.
See Also:
NamedElement.getNameExpression()

validateHasNoQualifiedName

public boolean validateHasNoQualifiedName(DiagnosticChain diagnostics,
                                          Map context)
If there is no name, or one of the containing namespaces has no name, there is no qualified name. (self.name->isEmpty() or self.allNamespaces()->select(ns | ns.name->isEmpty())->notEmpty()) implies self.qualifiedName->isEmpty()


validateHasQualifiedName

public boolean validateHasQualifiedName(DiagnosticChain diagnostics,
                                        Map context)
When there is a name, and all of the containing namespaces have a name, the qualified name is constructed from the names of the containing namespaces. (self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()) implies self.qualifiedName = self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result))


validateVisibilityNeedsOwnership

public boolean validateVisibilityNeedsOwnership(DiagnosticChain diagnostics,
                                                Map context)
If a NamedElement is not owned by a Namespace, it does not have a visibility. namespace->isEmpty() implies visibility->isEmpty()


createDependency

public Dependency createDependency(NamedElement supplier)
Creates a dependency between this named element and the specified supplier, owned by this named element's nearest package.


getLabel

public String getLabel()
Retrieves a localized label for this named element.


getLabel

public String getLabel(boolean localize)
Retrieves a label for this named element, localized if indicated.


allNamespaces

public EList allNamespaces()
The query allNamespaces() gives the sequence of namespaces in which the NamedElement is nested, working outwards. result = if self.namespace->isEmpty() then Sequence{} else self.namespace.allNamespaces()->prepend(self.namespace) endif


isDistinguishableFrom

public boolean isDistinguishableFrom(NamedElement n,
                                     Namespace ns)
The query isDistinguishableFrom() determines whether two NamedElements may logically co-exist within a Namespace. By default, two named elements are distinguishable if (a) they have unrelated types or (b) they have related types but different names. result = if self.oclIsKindOf(n.oclType) or n.oclIsKindOf(self.oclType) then ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->isEmpty() else true endif


separator

public String separator()
The query separator() gives the string that is used to separate names when constructing a qualified name. result = '::'


allOwningPackages

public EList allOwningPackages()
The query allOwningPackages() returns all the directly or indirectly owning packages. result = self.namespace->select(p | p.oclIsKindOf(Package))->union(p.allOwningPackages())


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