org.eclipse.uml2.uml
Interface Region

All Superinterfaces:
Element, EModelElement, EObject, NamedElement, Namespace, Notifier, RedefinableElement

public interface Region
extends Namespace, RedefinableElement

A representation of the model object 'Region'. A region is an orthogonal part of either a composite state or a state machine. It contains states and transitions.

The following features are supported:

See Also:
UMLPackage.getRegion()

Field Summary
 
Fields inherited from interface org.eclipse.uml2.uml.NamedElement
SEPARATOR
 
Method Summary
 boolean belongsToPSM()
           The operation belongsToPSM () checks if the region belongs to a protocol state machine result = if not stateMachine->isEmpty() then oclIsTypeOf(ProtocolStateMachine) else if not state->isEmpty() then state.container.belongsToPSM () else false
 StateMachine containingStateMachine()
           The operation containingStateMachine() returns the sate machine in which this Region is defined result = if stateMachine->isEmpty() then state.containingStateMachine() else stateMachine endif
 Vertex createSubvertex(String name, EClass eClass)
          Creates a new Vertex, with the specified 'Name', and appends it to the 'Subvertex' containment reference list
 Transition createTransition(String name)
          Creates a new Transition, with the specified 'Name', and appends it to the 'Transition' containment reference list
 Transition createTransition(String name, EClass eClass)
          Creates a new Transition, with the specified 'Name', and appends it to the 'Transition' containment reference list
 Region getExtendedRegion()
          Returns the value of the 'Extended Region' reference
 State getState()
          Returns the value of the 'State' container reference.
 StateMachine getStateMachine()
          Returns the value of the 'State Machine' container reference.
 Vertex getSubvertex(String name)
          Retrieves the first Vertex with the specified 'Name' from the 'Subvertex' containment reference list
 Vertex getSubvertex(String name, boolean ignoreCase, EClass eClass, boolean createOnDemand)
          Retrieves the first Vertex with the specified 'Name' from the 'Subvertex' containment reference list
 EList getSubvertices()
          Returns the value of the 'Subvertex' containment reference list.
 Transition getTransition(String name)
          Retrieves the first Transition with the specified 'Name' from the 'Transition' containment reference list
 Transition getTransition(String name, boolean ignoreCase, EClass eClass, boolean createOnDemand)
          Retrieves the first Transition with the specified 'Name' from the 'Transition' containment reference list
 EList getTransitions()
          Returns the value of the 'Transition' containment reference list.
 boolean isRedefinitionContextValid(Region redefined)
           The query isRedefinitionContextValid() specifies whether the redefinition contexts of a region are properly related to the redefinition contexts of the specified region to allow this element to redefine the other.
 Classifier redefinitionContext()
           The redefinition context of a region is the nearest containing statemachine result = let sm = containingStateMachine() in if sm.context->isEmpty() or sm.general->notEmpty() then sm else sm.context endif
 void setExtendedRegion(Region value)
          Sets the value of the 'Extended Region' reference
 void setState(State value)
          Sets the value of the 'State' container reference
 void setStateMachine(StateMachine value)
          Sets the value of the 'State Machine' container reference
 boolean validateDeepHistoryVertex(DiagnosticChain diagnostics, Map context)
           A region can have at most one deep history vertex self.subvertex->select (v | v.oclIsKindOf(Pseudostate))-> select(p : Pseudostate | p.kind = #deepHistory)->size() <= 1
 boolean validateInitialVertex(DiagnosticChain diagnostics, Map context)
           A region can have at most one initial vertex self.subvertex->select (v | v.oclIsKindOf(Pseudostate))-> select(p : Pseudostate | p.kind = #initial)->size() <= 1
 boolean validateOwned(DiagnosticChain diagnostics, Map context)
           If a Region is owned by a StateMachine, then it cannot also be owned by a State and vice versa.
 boolean validateShallowHistoryVertex(DiagnosticChain diagnostics, Map context)
           A region can have at most one shallow history vertex self.subvertex->select(v | v.oclIsKindOf(Pseudostate))-> select(p : Pseudostate | p.kind = #shallowHistory)->size() <= 1
 
Methods inherited from interface org.eclipse.uml2.uml.Namespace
createElementImport, createElementImport, createOwnedRule, createOwnedRule, createPackageImport, createPackageImport, excludeCollisions, getElementImport, getElementImport, getElementImports, getImportedElements, getImportedMember, getImportedMember, getImportedMembers, getImportedPackages, getMember, getMember, getMembers, getNamesOfMember, getOwnedMember, getOwnedMember, getOwnedMembers, getOwnedRule, getOwnedRule, getOwnedRules, getPackageImport, getPackageImport, getPackageImports, importMembers, membersAreDistinguishable, validateMembersDistinguishable
 
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
 
Methods inherited from interface org.eclipse.uml2.uml.RedefinableElement
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateRedefinitionConsistent, validateRedefinitionContextValid
 

Method Detail

getSubvertices

public EList getSubvertices()
Returns the value of the 'Subvertex' containment reference list. The list contents are of type Vertex. It is bidirectional and its opposite is 'Container'. The set of vertices that are owned by this region.

Returns:
the value of the 'Subvertex' containment reference list.
See Also:
UMLPackage.getRegion_Subvertex(), Vertex.getContainer()

createSubvertex

public Vertex createSubvertex(String name,
                              EClass eClass)
Creates a new Vertex, with the specified 'Name', and appends it to the 'Subvertex' containment reference list.

Parameters:
name - The 'Name' for the new Vertex, or null.
eClass - The Ecore class of the Vertex to create.
Returns:
The new Vertex.
See Also:
Region.getSubvertices()

getSubvertex

public Vertex getSubvertex(String name)
Retrieves the first Vertex with the specified 'Name' from the 'Subvertex' containment reference list.

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

getSubvertex

public Vertex getSubvertex(String name,
                           boolean ignoreCase,
                           EClass eClass,
                           boolean createOnDemand)
Retrieves the first Vertex with the specified 'Name' from the 'Subvertex' containment reference list.

Parameters:
name - The 'Name' of the Vertex to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
eClass - The Ecore class of the Vertex to retrieve, or null.
createOnDemand - Whether to create a Vertex on demand if not found.
Returns:
The first Vertex with the specified 'Name', or null.
See Also:
Region.getSubvertices()

getTransitions

public EList getTransitions()
Returns the value of the 'Transition' containment reference list. The list contents are of type Transition. It is bidirectional and its opposite is 'Container'. The set of transitions owned by the region. Note that internal transitions are owned by a region, but applies to the source state.

Returns:
the value of the 'Transition' containment reference list.
See Also:
UMLPackage.getRegion_Transition(), Transition.getContainer()

createTransition

public Transition createTransition(String name,
                                   EClass eClass)
Creates a new Transition, with the specified 'Name', and appends it to the 'Transition' containment reference list.

Parameters:
name - The 'Name' for the new Transition, or null.
eClass - The Ecore class of the Transition to create.
Returns:
The new Transition.
See Also:
Region.getTransitions()

createTransition

public Transition createTransition(String name)
Creates a new Transition, with the specified 'Name', and appends it to the 'Transition' containment reference list.

Parameters:
name - The 'Name' for the new Transition, or null.
Returns:
The new Transition.
See Also:
Region.getTransitions()

getTransition

public Transition getTransition(String name)
Retrieves the first Transition with the specified 'Name' from the 'Transition' containment reference list.

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

getTransition

public Transition getTransition(String name,
                                boolean ignoreCase,
                                EClass eClass,
                                boolean createOnDemand)
Retrieves the first Transition with the specified 'Name' from the 'Transition' containment reference list.

Parameters:
name - The 'Name' of the Transition to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
eClass - The Ecore class of the Transition to retrieve, or null.
createOnDemand - Whether to create a Transition on demand if not found.
Returns:
The first Transition with the specified 'Name', or null.
See Also:
Region.getTransitions()

getState

public State getState()
Returns the value of the 'State' container reference. It is bidirectional and its opposite is 'Region'. The State that owns the Region. If a Region is owned by a State, then it cannot also be owned by a StateMachine.

Returns:
the value of the 'State' container reference.
See Also:
Region.setState(State), UMLPackage.getRegion_State(), State.getRegions()

setState

public void setState(State value)
Sets the value of the 'State' container reference.

Parameters:
value - the new value of the 'State' container reference.
See Also:
Region.getState()

getExtendedRegion

public Region getExtendedRegion()
Returns the value of the 'Extended Region' reference. The region of which this region is an extension.

Returns:
the value of the 'Extended Region' reference.
See Also:
Region.setExtendedRegion(Region), UMLPackage.getRegion_ExtendedRegion()

setExtendedRegion

public void setExtendedRegion(Region value)
Sets the value of the 'Extended Region' reference.

Parameters:
value - the new value of the 'Extended Region' reference.
See Also:
Region.getExtendedRegion()

getStateMachine

public StateMachine getStateMachine()
Returns the value of the 'State Machine' container reference. It is bidirectional and its opposite is 'Region'. The StateMachine that owns the Region. If a Region is owned by a StateMachine, then it cannot also be owned by a State.

Returns:
the value of the 'State Machine' container reference.
See Also:
Region.setStateMachine(StateMachine), UMLPackage.getRegion_StateMachine(), StateMachine.getRegions()

setStateMachine

public void setStateMachine(StateMachine value)
Sets the value of the 'State Machine' container reference.

Parameters:
value - the new value of the 'State Machine' container reference.
See Also:
Region.getStateMachine()

validateInitialVertex

public boolean validateInitialVertex(DiagnosticChain diagnostics,
                                     Map context)
A region can have at most one initial vertex self.subvertex->select (v | v.oclIsKindOf(Pseudostate))-> select(p : Pseudostate | p.kind = #initial)->size() <= 1


validateDeepHistoryVertex

public boolean validateDeepHistoryVertex(DiagnosticChain diagnostics,
                                         Map context)
A region can have at most one deep history vertex self.subvertex->select (v | v.oclIsKindOf(Pseudostate))-> select(p : Pseudostate | p.kind = #deepHistory)->size() <= 1


validateShallowHistoryVertex

public boolean validateShallowHistoryVertex(DiagnosticChain diagnostics,
                                            Map context)
A region can have at most one shallow history vertex self.subvertex->select(v | v.oclIsKindOf(Pseudostate))-> select(p : Pseudostate | p.kind = #shallowHistory)->size() <= 1


validateOwned

public boolean validateOwned(DiagnosticChain diagnostics,
                             Map context)
If a Region is owned by a StateMachine, then it cannot also be owned by a State and vice versa. (stateMachine->notEmpty() implies state->isEmpty()) and (state->notEmpty() implies stateMachine->isEmpty())


redefinitionContext

public Classifier redefinitionContext()
The redefinition context of a region is the nearest containing statemachine result = let sm = containingStateMachine() in if sm.context->isEmpty() or sm.general->notEmpty() then sm else sm.context endif


isRedefinitionContextValid

public boolean isRedefinitionContextValid(Region redefined)
The query isRedefinitionContextValid() specifies whether the redefinition contexts of a region are properly related to the redefinition contexts of the specified region to allow this element to redefine the other. The containing statemachine/state of a redefining region must redefine the containing statemachine/state of the redefined region. result = true


containingStateMachine

public StateMachine containingStateMachine()
The operation containingStateMachine() returns the sate machine in which this Region is defined result = if stateMachine->isEmpty() then state.containingStateMachine() else stateMachine endif


belongsToPSM

public boolean belongsToPSM()
The operation belongsToPSM () checks if the region belongs to a protocol state machine result = if not stateMachine->isEmpty() then oclIsTypeOf(ProtocolStateMachine) else if not state->isEmpty() then state.container.belongsToPSM () else false


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