org.eclipse.uml2.uml
Interface RedefinableElement

All Superinterfaces:
Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, NamedElement, org.eclipse.emf.common.notify.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, StartObjectBehaviorAction, 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(java.lang.String name)
          Retrieves the first RedefinableElement with the specified 'Name' from the 'Redefined Element' reference list
 RedefinableElement getRedefinedElement(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
          Retrieves the first RedefinableElement with the specified 'Name' from the 'Redefined Element' reference list
 org.eclipse.emf.common.util.EList<RedefinableElement> getRedefinedElements()
          Returns the value of the 'Redefined Element' reference list.
 Classifier getRedefinitionContext(java.lang.String name)
          Retrieves the first Classifier with the specified 'Name' from the 'Redefinition Context' reference list
 Classifier getRedefinitionContext(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
          Retrieves the first Classifier with the specified 'Name' from the 'Redefinition Context' reference list
 org.eclipse.emf.common.util.EList<Classifier> 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(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          A redefining element must be consistent with each redefined element.
 boolean validateRedefinitionContextValid(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> 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, createUsage, 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

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:
setIsLeaf(boolean), UMLPackage.getRedefinableElement_IsLeaf()

setIsLeaf

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

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

getRedefinedElements

org.eclipse.emf.common.util.EList<RedefinableElement> getRedefinedElements()
Returns the value of the 'Redefined Element' reference list. The list contents are of type RedefinableElement. This feature is a derived union. 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

RedefinableElement getRedefinedElement(java.lang.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:
getRedefinedElements()

getRedefinedElement

RedefinableElement getRedefinedElement(java.lang.String name,
                                       boolean ignoreCase,
                                       org.eclipse.emf.ecore.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:
getRedefinedElements()

getRedefinitionContexts

org.eclipse.emf.common.util.EList<Classifier> getRedefinitionContexts()
Returns the value of the 'Redefinition Context' reference list. The list contents are of type Classifier. This feature is a derived union. 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

Classifier getRedefinitionContext(java.lang.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:
getRedefinitionContexts()

getRedefinitionContext

Classifier getRedefinitionContext(java.lang.String name,
                                  boolean ignoreCase,
                                  org.eclipse.emf.ecore.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:
getRedefinitionContexts()

validateRedefinitionContextValid

boolean validateRedefinitionContextValid(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                         java.util.Map<java.lang.Object,java.lang.Object> 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))

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

validateRedefinitionConsistent

boolean validateRedefinitionConsistent(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                       java.util.Map<java.lang.Object,java.lang.Object> context)
A redefining element must be consistent with each redefined element. self.redefinedElement->forAll(re | re.isConsistentWith(self))

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

isRedefinitionContextValid

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

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, 2007 IBM Corporation and others.
All Rights Reserved.