Package com.sodius.mdw.metamodel.uml21
Interface Region
-
- All Superinterfaces:
Comparable<Object>,Element,org.eclipse.emf.ecore.EModelElement,org.eclipse.emf.ecore.EObject,MDWEObject,MDWObject,NamedElement,Namespace,org.eclipse.emf.common.notify.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 com.sodius.mdw.metamodel.uml21.NamedElement
SEPARATOR
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleanbelongsToPSM()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 falseStateMachinecontainingStateMachine()The operation containingStateMachine() returns the sate machine in which this Region is defined result = if stateMachine->isEmpty() then state.containingStateMachine() else stateMachine endifFinalStatecreateFinalState(String name)Creates aSub Final Statefor the current Region, called 'name'.PseudostatecreatePseudostate(String name, PseudostateKind kind)Creates aSub Pseudo Statefor the current Region, called 'name'.StatecreateState(String name)Creates aSub Statefor the current Region, called 'name'.VertexcreateSubvertex(String name, org.eclipse.emf.ecore.EClass eClass)Creates a newVertex, with the specified 'Name', and appends it to the ' Subvertex' containment reference list.TransitioncreateTransition(String name)Creates a newTransition, with the specified 'Name', and appends it to the ' Transition' containment reference list.TransitioncreateTransition(String name, org.eclipse.emf.ecore.EClass eClass)Creates a newTransition, with the specified 'Name', and appends it to the ' Transition' containment reference list.RegiongetExtendedRegion()Returns the value of the 'Extended Region' reference.StategetState()Returns the value of the 'State' container reference.StateMachinegetStateMachine()Returns the value of the 'State Machine' container reference.VertexgetSubvertex(String name)Retrieves the firstVertexwith the specified 'Name' from the 'Subvertex ' containment reference list.VertexgetSubvertex(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)Retrieves the firstVertexwith the specified 'Name' from the 'Subvertex ' containment reference list.MDWEList<Vertex>getSubvertices()Returns the value of the 'Subvertex' containment reference list.TransitiongetTransition(String name)Retrieves the firstTransitionwith the specified 'Name' from the ' Transition' containment reference list.TransitiongetTransition(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)Retrieves the firstTransitionwith the specified 'Name' from the ' Transition' containment reference list.MDWEList<Transition>getTransitions()Returns the value of the 'Transition' containment reference list.booleanisRedefinitionContextValid(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.ClassifierredefinitionContext()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 endifvoidsetExtendedRegion(Region value)Sets the value of the 'Extended Region' reference.voidsetState(State value)Sets the value of the 'State' container reference.voidsetStateMachine(StateMachine value)Sets the value of the 'State Machine' container reference.booleanvalidateDeepHistoryVertex(org.eclipse.emf.common.util.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() <= 1booleanvalidateInitialVertex(org.eclipse.emf.common.util.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() <= 1booleanvalidateOwned(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)If a Region is owned by a StateMachine, then it cannot also be owned by a State and vice versa.booleanvalidateShallowHistoryVertex(org.eclipse.emf.common.util.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 com.sodius.mdw.metamodel.uml21.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, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
-
Methods inherited from interface com.sodius.mdw.core.model.MDWObject
compareTo, eExtendedClass, eIsInstanceOf, eIsInstanceOf, eIsProfiled, eIsRemoved, eMetamodel, eMetaTypeName, eModel, eRemove, eSetUniqueID, eUniqueID, superScript, superScript, toBoolean, toBoolean, toByte, toByte, toChar, toChar, toDouble, toDouble, toFloat, toFloat, toInt, toInt, toList, toList, toList, toList, toList, toLong, toLong, toObject, toObject, toSet, toSet, toShort, toShort, toString, toString
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.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 com.sodius.mdw.metamodel.uml21.Namespace
createElementImport, createElementImport, createOwnedDiagram, createOwnedRule, createOwnedRule, createPackageImport, createPackageImport, excludeCollisions, getElementImport, getElementImport, getElementImports, getImportedElements, getImportedMember, getImportedMember, getImportedMembers, getImportedPackages, getMember, getMember, getMembers, getNamesOfMember, getOwnedDiagrams, getOwnedDiagrams, getOwnedMember, getOwnedMember, getOwnedMembers, getOwnedRule, getOwnedRule, getOwnedRules, getPackageImport, getPackageImport, getPackageImports, importMembers, membersAreDistinguishable, validateMembersDistinguishable
-
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.RedefinableElement
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateRedefinitionConsistent, validateRedefinitionContextValid
-
-
-
-
Method Detail
-
getSubvertices
MDWEList<Vertex> getSubvertices()
Returns the value of the 'Subvertex' containment reference list. The list contents are of typeVertex. 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
Vertex createSubvertex(String name, org.eclipse.emf.ecore.EClass eClass)
Creates a newVertex, with the specified 'Name', and appends it to the ' Subvertex' containment reference list.- Parameters:
name- The 'Name' for the newVertex, ornull.eClass- The Ecore class of theVertexto create.- Returns:
- The new
Vertex. - See Also:
getSubvertices()
-
createState
State createState(String name)
Creates aSub Statefor the current Region, called 'name'.- Parameters:
name- the name of the created State- Returns:
- the created State
- Since:
- 3.5.0
-
createFinalState
FinalState createFinalState(String name)
Creates aSub Final Statefor the current Region, called 'name'.- Parameters:
name- the name of the created Final State- Returns:
- the created FinalState
- Since:
- 3.5.0
-
createPseudostate
Pseudostate createPseudostate(String name, PseudostateKind kind)
Creates aSub Pseudo Statefor the current Region, called 'name'.- Parameters:
name- the name of the created Pseudo Statethe- kind of the Pseudo State- Returns:
- the created Pseudo State
- Since:
- 3.5.0
- See Also:
PseudostateKind
-
getSubvertex
Vertex getSubvertex(String name)
Retrieves the firstVertexwith the specified 'Name' from the 'Subvertex ' containment reference list.- Parameters:
name- The 'Name' of theVertexto retrieve, ornull.- Returns:
- The first
Vertexwith the specified 'Name', ornull. - See Also:
getSubvertices()
-
getSubvertex
Vertex getSubvertex(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstVertexwith the specified 'Name' from the 'Subvertex ' containment reference list.- Parameters:
name- The 'Name' of theVertexto retrieve, ornull.ignoreCase- Whether to ignore case inStringcomparisons.eClass- The Ecore class of theVertexto retrieve, ornull.createOnDemand- Whether to create aVertexon demand if not found.- Returns:
- The first
Vertexwith the specified 'Name', ornull. - See Also:
getSubvertices()
-
getTransitions
MDWEList<Transition> getTransitions()
Returns the value of the 'Transition' containment reference list. The list contents are of typeTransition. 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
Transition createTransition(String name, org.eclipse.emf.ecore.EClass eClass)
Creates a newTransition, with the specified 'Name', and appends it to the ' Transition' containment reference list.- Parameters:
name- The 'Name' for the newTransition, ornull.eClass- The Ecore class of theTransitionto create.- Returns:
- The new
Transition. - See Also:
getTransitions()
-
createTransition
Transition createTransition(String name)
Creates a newTransition, with the specified 'Name', and appends it to the ' Transition' containment reference list.- Parameters:
name- The 'Name' for the newTransition, ornull.- Returns:
- The new
Transition. - See Also:
getTransitions()
-
getTransition
Transition getTransition(String name)
Retrieves the firstTransitionwith the specified 'Name' from the ' Transition' containment reference list.- Parameters:
name- The 'Name' of theTransitionto retrieve, ornull.- Returns:
- The first
Transitionwith the specified 'Name', ornull. - See Also:
getTransitions()
-
getTransition
Transition getTransition(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstTransitionwith the specified 'Name' from the ' Transition' containment reference list.- Parameters:
name- The 'Name' of theTransitionto retrieve, ornull.ignoreCase- Whether to ignore case inStringcomparisons.eClass- The Ecore class of theTransitionto retrieve, ornull.createOnDemand- Whether to create aTransitionon demand if not found.- Returns:
- The first
Transitionwith the specified 'Name', ornull. - See Also:
getTransitions()
-
getState
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:
setState(State),UMLPackage.getRegion_State(),State.getRegions()
-
setState
void setState(State value)
Sets the value of the 'State' container reference.- Parameters:
value- the new value of the 'State' container reference.- See Also:
getState()
-
getExtendedRegion
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:
setExtendedRegion(Region),UMLPackage.getRegion_ExtendedRegion()
-
setExtendedRegion
void setExtendedRegion(Region value)
Sets the value of the 'Extended Region' reference.- Parameters:
value- the new value of the 'Extended Region' reference.- See Also:
getExtendedRegion()
-
getStateMachine
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:
setStateMachine(StateMachine),UMLPackage.getRegion_StateMachine(),StateMachine.getRegions()
-
setStateMachine
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:
getStateMachine()
-
validateInitialVertex
boolean validateInitialVertex(org.eclipse.emf.common.util.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
boolean validateDeepHistoryVertex(org.eclipse.emf.common.util.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
boolean validateShallowHistoryVertex(org.eclipse.emf.common.util.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
boolean validateOwned(org.eclipse.emf.common.util.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
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
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
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
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
-
-