org.eclipse.uml2.uml
Interface Pseudostate

All Superinterfaces:
Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, NamedElement, org.eclipse.emf.common.notify.Notifier, Vertex

public interface Pseudostate
extends Vertex

A representation of the model object 'Pseudostate'. A pseudostate is an abstraction that encompasses different types of transient vertices in the state machine graph.

The following features are supported:

See Also:
UMLPackage.getPseudostate()

Field Summary
 
Fields inherited from interface org.eclipse.uml2.uml.NamedElement
SEPARATOR
 
Method Summary
 PseudostateKind getKind()
          Returns the value of the 'Kind' attribute.
 State getState()
          Returns the value of the 'State' container reference.
 StateMachine getStateMachine()
          Returns the value of the 'State Machine' container reference.
 void setKind(PseudostateKind value)
          Sets the value of the 'Kind' attribute
 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 validateChoiceVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          In a complete statemachine, a choice vertex must have at least one incoming and one outgoing transition.
 boolean validateForkVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          In a complete statemachine, a fork vertex must have at least two outgoing transitions and exactly one incoming transition.
 boolean validateHistoryVertices(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          History vertices can have at most one outgoing transition.
 boolean validateInitialVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          An initial vertex can have at most one outgoing transition.
 boolean validateJoinVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          In a complete statemachine, a join vertex must have at least two incoming transitions and exactly one outgoing transition.
 boolean validateJunctionVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          In a complete statemachine, a junction vertex must have at least one incoming and one outgoing transition.
 boolean validateOutgoingFromInitial(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The outgoing transition from and initial vertex may have a behavior, but not a trigger or a guard.
 boolean validateTransitionsIncoming(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          All transitions incoming a join vertex must originate in different regions of an orthogonal state.
 boolean validateTransitionsOutgoing(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          All transitions outgoing a fork vertex must target states in different regions of an orthogonal state.
 
Methods inherited from interface org.eclipse.uml2.uml.Vertex
containingStateMachine, getContainer, getIncoming, getIncoming, getIncomings, getOutgoing, getOutgoing, getOutgoings, setContainer
 
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, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 

Method Detail

getKind

PseudostateKind getKind()
Returns the value of the 'Kind' attribute. The default value is "initial". The literals are from the enumeration PseudostateKind. Determines the precise type of the Pseudostate and can be one of: entryPoint, exitPoint, initial, deepHistory, shallowHistory, join, fork, junction, terminate or choice.

Returns:
the value of the 'Kind' attribute.
See Also:
PseudostateKind, setKind(PseudostateKind), UMLPackage.getPseudostate_Kind()

setKind

void setKind(PseudostateKind value)
Sets the value of the 'Kind' attribute.

Parameters:
value - the new value of the 'Kind' attribute.
See Also:
PseudostateKind, getKind()

getStateMachine

StateMachine getStateMachine()
Returns the value of the 'State Machine' container reference. It is bidirectional and its opposite is 'Connection Point'.

This feature subsets the following features:

The StateMachine in which this Pseudostate is defined. This only applies to Pseudostates of the kind entryPoint or exitPoint.

Returns:
the value of the 'State Machine' container reference.
See Also:
setStateMachine(StateMachine), UMLPackage.getPseudostate_StateMachine(), StateMachine.getConnectionPoints()

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()

getState

State getState()
Returns the value of the 'State' container reference. It is bidirectional and its opposite is 'Connection Point'.

This feature subsets the following features:

The State that owns this pseudostate and in which it appears.

Returns:
the value of the 'State' container reference.
See Also:
setState(State), UMLPackage.getPseudostate_State(), State.getConnectionPoints()

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()

validateInitialVertex

boolean validateInitialVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                              java.util.Map<java.lang.Object,java.lang.Object> context)
An initial vertex can have at most one outgoing transition. (self.kind = #initial) implies (self.outgoing->size <= 1)

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

validateHistoryVertices

boolean validateHistoryVertices(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                java.util.Map<java.lang.Object,java.lang.Object> context)
History vertices can have at most one outgoing transition. ((self.kind = #deepHistory) or (self.kind = #shallowHistory)) implies (self.outgoing->size <= 1)

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

validateJoinVertex

boolean validateJoinVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                           java.util.Map<java.lang.Object,java.lang.Object> context)
In a complete statemachine, a join vertex must have at least two incoming transitions and exactly one outgoing transition. (self.kind = #join) implies ((self.outgoing->size = 1) and (self.incoming->size >= 2))

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

validateTransitionsIncoming

boolean validateTransitionsIncoming(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                    java.util.Map<java.lang.Object,java.lang.Object> context)
All transitions incoming a join vertex must originate in different regions of an orthogonal state. (self.kind = #join) implies self.incoming->forAll (t1, t2 | t1<>t2 implies (self.stateMachine.LCA(t1.source, t2.source).container.isOrthogonal))

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

validateForkVertex

boolean validateForkVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                           java.util.Map<java.lang.Object,java.lang.Object> context)
In a complete statemachine, a fork vertex must have at least two outgoing transitions and exactly one incoming transition. (self.kind = #fork) implies ((self.incoming->size = 1) and (self.outgoing->size >= 2))

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

validateTransitionsOutgoing

boolean validateTransitionsOutgoing(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                    java.util.Map<java.lang.Object,java.lang.Object> context)
All transitions outgoing a fork vertex must target states in different regions of an orthogonal state. (self.kind = #fork) implies self.outgoing->forAll (t1, t2 | t1<>t2 implies (self.stateMachine.LCA(t1.target, t2.target).container.isOrthogonal))

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

validateJunctionVertex

boolean validateJunctionVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                               java.util.Map<java.lang.Object,java.lang.Object> context)
In a complete statemachine, a junction vertex must have at least one incoming and one outgoing transition. (self.kind = #junction) implies ((self.incoming->size >= 1) and (self.outgoing->size >= 1))

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

validateChoiceVertex

boolean validateChoiceVertex(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                             java.util.Map<java.lang.Object,java.lang.Object> context)
In a complete statemachine, a choice vertex must have at least one incoming and one outgoing transition. (self.kind = #choice) implies ((self.incoming->size >= 1) and (self.outgoing->size >= 1))

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

validateOutgoingFromInitial

boolean validateOutgoingFromInitial(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                    java.util.Map<java.lang.Object,java.lang.Object> context)
The outgoing transition from and initial vertex may have a behavior, but not a trigger or a guard. (self.kind = #initial) implies (self.outgoing.guard->isEmpty() and self.outgoing.trigger->isEmpty())

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

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