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 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 falseStateMachine
containingStateMachine()
The operation containingStateMachine() returns the sate machine in which this Region is defined result = if stateMachine->isEmpty() then state.containingStateMachine() else stateMachine endifFinalState
createFinalState(String name)
Creates aSub Final State
for the current Region, called 'name'.Pseudostate
createPseudostate(String name, PseudostateKind kind)
Creates aSub Pseudo State
for the current Region, called 'name'.State
createState(String name)
Creates aSub State
for the current Region, called 'name'.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.Transition
createTransition(String name)
Creates a newTransition
, with the specified 'Name', and appends it to the ' Transition' containment reference list.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.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 firstVertex
with the specified 'Name' from the 'Subvertex ' containment reference list.Vertex
getSubvertex(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstVertex
with the specified 'Name' from the 'Subvertex ' containment reference list.MDWEList<Vertex>
getSubvertices()
Returns the value of the 'Subvertex' containment reference list.Transition
getTransition(String name)
Retrieves the firstTransition
with the specified 'Name' from the ' Transition' containment reference list.Transition
getTransition(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstTransition
with the specified 'Name' from the ' Transition' containment reference list.MDWEList<Transition>
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 endifvoid
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(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() <= 1boolean
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() <= 1boolean
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.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-
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 theVertex
to create.- Returns:
- The new
Vertex
. - See Also:
getSubvertices()
-
createState
State createState(String name)
Creates aSub State
for 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 State
for 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 State
for 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 firstVertex
with the specified 'Name' from the 'Subvertex ' containment reference list.- Parameters:
name
- The 'Name' of theVertex
to retrieve, ornull
.- Returns:
- The first
Vertex
with the specified 'Name', ornull
. - See Also:
getSubvertices()
-
getSubvertex
Vertex getSubvertex(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstVertex
with the specified 'Name' from the 'Subvertex ' containment reference list.- Parameters:
name
- The 'Name' of theVertex
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.eClass
- The Ecore class of theVertex
to retrieve, ornull
.createOnDemand
- Whether to create aVertex
on demand if not found.- Returns:
- The first
Vertex
with 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 theTransition
to 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 firstTransition
with the specified 'Name' from the ' Transition' containment reference list.- Parameters:
name
- The 'Name' of theTransition
to retrieve, ornull
.- Returns:
- The first
Transition
with the specified 'Name', ornull
. - See Also:
getTransitions()
-
getTransition
Transition getTransition(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstTransition
with the specified 'Name' from the ' Transition' containment reference list.- Parameters:
name
- The 'Name' of theTransition
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.eClass
- The Ecore class of theTransition
to retrieve, ornull
.createOnDemand
- Whether to create aTransition
on demand if not found.- Returns:
- The first
Transition
with 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
-
-