|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectcom.evelopers.unimod.core.ModelElement
com.evelopers.unimod.core.stateworks.ClassElement
com.evelopers.unimod.core.stateworks.StateMachine
Class StateMachine represents StateMachine abstraction.
State machine "knows" directly only about it's top state and about all
controlled objects and event providers.
State machine must have top state.
Implements factory for State, Transition, Guard,
Event, Action, Association, Parameter.
| Field Summary | |
static java.lang.String |
STATEMACHINE_STEREOTYPE
|
static java.lang.String |
TOP_STATE_PROPERTY
|
protected State |
topState
Top state. |
| Fields inherited from class com.evelopers.unimod.core.stateworks.ClassElement |
IMPL_NAME_PROPERTY, implName, INCOMING_ASSOCIATIONS_PROPERTY, incomingAssociations, OUTGOING_ASSOCIATIONS_PROPERTY, outgoingAssociations |
| Fields inherited from class com.evelopers.unimod.core.ModelElement |
listeners, name, NAME_PROPERTY, stereotype, STEREOTYPE_PROPERTY |
| Constructor Summary | |
protected |
StateMachine(java.lang.String name)
Creates empty state machine. |
protected |
StateMachine(java.lang.String name,
java.lang.String configStoreClassName)
Creates empty state machine with given config store. |
| Method Summary | |
void |
addContolledObjectHandler(ControlledObjectHandler controlledObjectHandler)
Creates new association with the given controlled object handler as a supplier and this state machine as a client. |
protected void |
addIncomingAssociation(Association association)
|
protected void |
addOutgoingAssociation(Association association)
Adds an association to state machine. |
void |
addStateMachine(StateMachine sm)
|
Action |
createAction(java.lang.String identifier)
Creates Action (Input or Output). |
Guard |
createGuard(java.lang.String expr)
Creates guard condition |
Association |
createIncomingAssociation(ClassElement client)
|
Association |
createIncomingAssociation(ClassElement client,
java.lang.String clientRole)
|
Association |
createIncomingAssociation(ClassElement client,
java.lang.String supplierRole,
java.lang.String clientRole)
|
Association |
createOutgoingAssociation(ClassElement supplier)
|
Association |
createOutgoingAssociation(ClassElement supplier,
java.lang.String supplierRole)
|
Association |
createOutgoingAssociation(ClassElement supplier,
java.lang.String supplierRole,
java.lang.String clientRole)
|
State |
createState(java.lang.String name,
StateType type)
Creates state |
State |
createTopState(java.lang.String name)
|
Transition |
createTransition(State sourceState,
State targetState,
Guard guard,
Event event)
Creates transition |
boolean |
equals(java.lang.Object o)
Checks if this state machine equals to the given object. |
State |
findState(java.lang.String name)
|
StateMachine |
findSubmachine(java.lang.String name)
|
java.util.List |
getAllStates()
Return new set that contains all states |
protected java.util.List |
getAllStates(State root)
Return new set that are contained by the given root directly (as substates) or indirectly (as substates of substates etc.) |
java.util.List |
getAllTransition()
Returns all transitions |
ClassElement |
getClassElement(java.lang.String name)
Returns associated class element with given supplier role name |
java.lang.String |
getConfigManagerClassName()
|
ControlledObjectHandler |
getControlledObjectHandler(java.lang.String objectName)
Returns controlled object handler with given name. |
java.util.List |
getControlledObjectHandlers()
Returns all controlled object handlers |
java.util.List |
getEventProviderHandlers()
|
StateMachine |
getStateMachine(java.lang.String smName)
Returns associated state machine with given supplier role name |
java.util.List |
getStateMachines()
Returns all associated state machines |
java.util.Set |
getSubmachines()
Return all state machines included by all states of this state machine as submachines |
State |
getTop()
Return top state. |
int |
hashCode()
Returns hash code based on the name of this state machine. |
void |
removeControlledObjectHandler(ControlledObjectHandler controlledObjectHandler)
Removes given controlled object handler from state machine. |
void |
setConfigManagerClassName(java.lang.String configManagerClassName)
|
void |
setTop(State top)
Set top state. |
java.lang.String |
toString()
Returns class identifier |
| Methods inherited from class com.evelopers.unimod.core.stateworks.ClassElement |
getImplName, getIncomingAssociations, getOutgoingAssociations, removeIncomingAssociation, removeOutgoingAssociation, setImplName |
| Methods inherited from class com.evelopers.unimod.core.ModelElement |
accept, addPropertyChangeListener, firePropertyChange, getName, getStereotype, initListeners, removePropertyChangeListener, setName, setStereotype |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final java.lang.String STATEMACHINE_STEREOTYPE
public static final java.lang.String TOP_STATE_PROPERTY
protected State topState
| Constructor Detail |
protected StateMachine(java.lang.String name)
protected StateMachine(java.lang.String name,
java.lang.String configStoreClassName)
| Method Detail |
public State getTop()
public void setTop(State top)
top - new top statepublic java.lang.String getConfigManagerClassName()
public void setConfigManagerClassName(java.lang.String configManagerClassName)
protected void addOutgoingAssociation(Association association)
Adds an association to state machine.
Note: this method should be
invoked only from method Association.reconnect(com.evelopers.unimod.core.stateworks.ClassElement, com.evelopers.unimod.core.stateworks.ClassElement) or
its extensions and implementations.
addOutgoingAssociation in class ClassElementassociation - association to add
java.lang.IllegalArgumentException - if given association
is null or its supplier is not this state
machineprotected void addIncomingAssociation(Association association)
addIncomingAssociation in class ClassElementpublic int hashCode()
hashCode in class ClassElementpublic boolean equals(java.lang.Object o)
equals in class ClassElemento - an object to compare this machine to
public java.lang.String toString()
ClassElement
toString in class ClassElementpublic void addContolledObjectHandler(ControlledObjectHandler controlledObjectHandler)
controlledObjectHandler - controlled object handler to addpublic void addStateMachine(StateMachine sm)
public void removeControlledObjectHandler(ControlledObjectHandler controlledObjectHandler)
controlledObjectHandler - controlled object handler to removepublic java.util.List getControlledObjectHandlers()
public java.util.List getStateMachines()
public java.util.List getEventProviderHandlers()
public ControlledObjectHandler getControlledObjectHandler(java.lang.String objectName)
objectName.
objectName - controlled object handler name
public StateMachine getStateMachine(java.lang.String smName)
smName -
public ClassElement getClassElement(java.lang.String name)
name -
public java.util.Set getSubmachines()
public java.util.List getAllStates()
protected java.util.List getAllStates(State root)
root - root state
public java.util.List getAllTransition()
public State findState(java.lang.String name)
public StateMachine findSubmachine(java.lang.String name)
public State createState(java.lang.String name,
StateType type)
name - state nametype - state type
public State createTopState(java.lang.String name)
public Transition createTransition(State sourceState,
State targetState,
Guard guard,
Event event)
sourceState - source statetargetState - target stateguard - guard conditionevent - trigger event
public Guard createGuard(java.lang.String expr)
expr - guard condition logical expression
parser will check return types and throw ParserException if it wrong.
public Association createOutgoingAssociation(ClassElement supplier,
java.lang.String supplierRole,
java.lang.String clientRole)
public final Association createOutgoingAssociation(ClassElement supplier,
java.lang.String supplierRole)
public final Association createOutgoingAssociation(ClassElement supplier)
public Association createIncomingAssociation(ClassElement client,
java.lang.String supplierRole,
java.lang.String clientRole)
public final Association createIncomingAssociation(ClassElement client,
java.lang.String clientRole)
public final Association createIncomingAssociation(ClassElement client)
public Action createAction(java.lang.String identifier)
identifier - action ident in form o1.z1 or a1.e1
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||