org.eclipse.uml2.uml
Interface RedefinableElement

All Superinterfaces:
Element, EModelElement, EObject, NamedElement, Notifier
All Known Subinterfaces:
AcceptCallAction, AcceptEventAction, Action, ActionInputPin, Activity, ActivityEdge, ActivityFinalNode, ActivityNode, ActivityParameterNode, Actor, AddStructuralFeatureValueAction, AddVariableValueAction, Artifact, Association, AssociationClass, Behavior, BehavioralFeature, BehavioredClassifier, BroadcastSignalAction, CallAction, CallBehaviorAction, CallOperationAction, CentralBufferNode, Class, Classifier, ClearAssociationAction, ClearStructuralFeatureAction, ClearVariableAction, Collaboration, CommunicationPath, Component, ConditionalNode, Connector, ControlFlow, ControlNode, CreateLinkAction, CreateLinkObjectAction, CreateObjectAction, DataStoreNode, DataType, DecisionNode, DeploymentSpecification, DestroyLinkAction, DestroyObjectAction, Device, EncapsulatedClassifier, Enumeration, ExecutableNode, ExecutionEnvironment, ExpansionNode, ExpansionRegion, Extension, ExtensionEnd, ExtensionPoint, Feature, FinalNode, FinalState, FlowFinalNode, ForkNode, FunctionBehavior, InformationItem, InitialNode, InputPin, Interaction, Interface, InvocationAction, JoinNode, LinkAction, LoopNode, MergeNode, Node, ObjectFlow, ObjectNode, OpaqueAction, OpaqueBehavior, Operation, OutputPin, Pin, Port, PrimitiveType, Property, ProtocolStateMachine, ProtocolTransition, RaiseExceptionAction, ReadExtentAction, ReadIsClassifiedObjectAction, ReadLinkAction, ReadLinkObjectEndAction, ReadLinkObjectEndQualifierAction, ReadSelfAction, ReadStructuralFeatureAction, ReadVariableAction, Reception, ReclassifyObjectAction, RedefinableTemplateSignature, ReduceAction, Region, RemoveStructuralFeatureValueAction, RemoveVariableValueAction, ReplyAction, SendObjectAction, SendSignalAction, SequenceNode, Signal, StartClassifierBehaviorAction, State, StateMachine, Stereotype, StructuralFeature, StructuralFeatureAction, StructuredActivityNode, StructuredClassifier, TestIdentityAction, Transition, UnmarshallAction, UseCase, ValuePin, ValueSpecificationAction, VariableAction, WriteLinkAction, WriteStructuralFeatureAction, WriteVariableAction

public interface RedefinableElement
extends NamedElement

A representation of the model object 'Redefinable Element'. A redefinable element is an element that, when defined in the context of a classifier, can be redefined more specifically or differently in the context of another classifier that specializes (directly or indirectly) the context classifier.

The following features are supported:

See Also:
UMLPackage.getRedefinableElement()

Field Summary
 
Fields inherited from interface org.eclipse.uml2.uml.NamedElement
SEPARATOR
 
Method Summary
 RedefinableElement getRedefinedElement(String name)
          Retrieves the first RedefinableElement with the specified 'Name' from the 'Redefined Element' reference list
 RedefinableElement getRedefinedElement(String name, boolean ignoreCase, EClass eClass)
          Retrieves the first RedefinableElement with the specified 'Name' from the 'Redefined Element' reference list
 EList getRedefinedElements()
          Returns the value of the 'Redefined Element' reference list.
 Classifier getRedefinitionContext(String name)
          Retrieves the first Classifier with the specified 'Name' from the 'Redefinition Context' reference list
 Classifier getRedefinitionContext(String name, boolean ignoreCase, EClass eClass)
          Retrieves the first Classifier with the specified 'Name' from the 'Redefinition Context' reference list
 EList getRedefinitionContexts()
          Returns the value of the 'Redefinition Context' reference list.
 boolean isConsistentWith(RedefinableElement redefinee)
           The query isConsistentWith() specifies, for any two RedefinableElements in a context in which redefinition is possible, whether redefinition would be logically consistent.
 boolean isLeaf()
          Returns the value of the 'Is Leaf' attribute.
 boolean isRedefinitionContextValid(RedefinableElement redefined)
           The query isRedefinitionContextValid() specifies whether the redefinition contexts of this RedefinableElement are properly related to the redefinition contexts of the specified RedefinableElement to allow this element to redefine the other.
 void setIsLeaf(boolean value)
          Sets the value of the 'Is Leaf' attribute
 boolean validateRedefinitionConsistent(DiagnosticChain diagnostics, Map context)
           A redefining element must be consistent with each redefined element.
 boolean validateRedefinitionContextValid(DiagnosticChain diagnostics, Map context)
           At least one of the redefinition contexts of the redefining element must be a specialization of at least one of the redefinition contexts for each redefined element.
 
Methods inherited from interface org.eclipse.uml2.uml.NamedElement
allNamespaces, allOwningPackages, createDependency, createNameExpression, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetVisibility, separator, setName, setNameExpression, setVisibility, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership
 
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
 

Method Detail

isLeaf

public boolean isLeaf()
Returns the value of the 'Is Leaf' attribute. The default value is "false". Indicates whether it is possible to further specialize a RedefinableElement. If the value is true, then it is not possible to further specialize the RedefinableElement.

Returns:
the value of the 'Is Leaf' attribute.
See Also:
RedefinableElement.setIsLeaf(boolean), UMLPackage.getRedefinableElement_IsLeaf()

setIsLeaf

public void setIsLeaf(boolean value)
Sets the value of the 'Is Leaf' attribute.

Parameters:
value - the new value of the 'Is Leaf' attribute.
See Also:
RedefinableElement.isLeaf()

getRedefinedElements

public EList getRedefinedElements()
Returns the value of the 'Redefined Element' reference list. The list contents are of type RedefinableElement. The redefinable element that is being redefined by this element.

Returns:
the value of the 'Redefined Element' reference list.
See Also:
UMLPackage.getRedefinableElement_RedefinedElement()

getRedefinedElement

public RedefinableElement getRedefinedElement(String name)
Retrieves the first RedefinableElement with the specified 'Name' from the 'Redefined Element' reference list.

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

getRedefinedElement

public RedefinableElement getRedefinedElement(String name,
                                              boolean ignoreCase,
                                              EClass eClass)
Retrieves the first RedefinableElement with the specified 'Name' from the 'Redefined Element' reference list.

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

getRedefinitionContexts

public EList getRedefinitionContexts()
Returns the value of the 'Redefinition Context' reference list. The list contents are of type Classifier. References the contexts that this element may be redefined from.

Returns:
the value of the 'Redefinition Context' reference list.
See Also:
UMLPackage.getRedefinableElement_RedefinitionContext()

getRedefinitionContext

public Classifier getRedefinitionContext(String name)
Retrieves the first Classifier with the specified 'Name' from the 'Redefinition Context' reference list.

Parameters:
name - The 'Name' of the Classifier to retrieve, or null.
Returns:
The first Classifier with the specified 'Name', or null.
See Also:
RedefinableElement.getRedefinitionContexts()

getRedefinitionContext

public Classifier getRedefinitionContext(String name,
                                         boolean ignoreCase,
                                         EClass eClass)
Retrieves the first Classifier with the specified 'Name' from the 'Redefinition Context' reference list.

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

validateRedefinitionContextValid

public boolean validateRedefinitionContextValid(DiagnosticChain diagnostics,
                                                Map context)
At least one of the redefinition contexts of the redefining element must be a specialization of at least one of the redefinition contexts for each redefined element. self.redefinedElement->forAll(e | self.isRedefinitionContextValid(e))


validateRedefinitionConsistent

public boolean validateRedefinitionConsistent(DiagnosticChain diagnostics,
                                              Map context)
A redefining element must be consistent with each redefined element. self.redefinedElement->forAll(re | re.isConsistentWith(self))


isRedefinitionContextValid

public boolean isRedefinitionContextValid(RedefinableElement redefined)
The query isRedefinitionContextValid() specifies whether the redefinition contexts of this RedefinableElement are properly related to the redefinition contexts of the specified RedefinableElement to allow this element to redefine the other. By default at least one of the redefinition contexts of this element must be a specialization of at least one of the redefinition contexts of the specified element. result = redefinitionContext->exists(c | c.allParents()->includes(redefined.redefinitionContext)))


isConsistentWith

public boolean isConsistentWith(RedefinableElement redefinee)
The query isConsistentWith() specifies, for any two RedefinableElements in a context in which redefinition is possible, whether redefinition would be logically consistent. By default, this is false; this operation must be overridden for subclasses of RedefinableElement to define the consistency conditions. redefinee.isRedefinitionContextValid(self) result = false


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