libSmalldb  v2.0.2
Public Member Functions | List of all members
StateMachineDefinition Class Reference

Description

Smalldb State Machine Definition – a non-deterministic persistent finite automaton.

The state machine consists of states, actions and transitions. A transition has one source state and many target states. Actions group transitions of the same name; an action name is an input symbol of the machine.

Inheritance diagram for StateMachineDefinition

Public Member Functions

 __construct (string $machineType, int $mtime, array $states, array $actions, array $transitions, array $properties, array $errors, ?string $referenceClass=null, ?string $transitionsClass=null, ?string $repositoryClass=null, array $extensions=[])
 StateMachineDefinition constructor. More...
 
 getMachineType ()
 
 getMTime ()
 
 getStates ()
 
 getState (string $name)
 
 getActions ()
 
 getAction (string $name)
 
 getTransitions ()
 
 getTransition ($action, $sourceState)
 
 getProperties ()
 
 getProperty (string $name)
 
 getGraph ()
 
 hasErrors ()
 
 getErrors ()
 
 getReferenceClass ()
 
 getTransitionsClass ()
 
 getRepositoryClass ()
 
 findReachableStates (StateDefinition $initialState=null)
 
 jsonSerialize ()
 
 hasExtension (string $extensionClassName)
 Return true if an extension of given type is defined for this element. More...
 
 getExtension (string $extensionClassName)
 Get an extension of given type. More...
 
 findExtension (string $extensionClassName)
 Get an extension of given type. More...
 
 getExtensionClassNames ()
 Get a list of existing extensions. More...
 

Constructor & Destructor Documentation

◆ __construct()

__construct ( string  $machineType,
int  $mtime,
array  $states,
array  $actions,
array  $transitions,
array  $properties,
array  $errors,
?string  $referenceClass = null,
?string  $transitionsClass = null,
?string  $repositoryClass = null,
array  $extensions = [] 
)

StateMachineDefinition constructor.

Parameters
string$machineType
int$mtime
StateDefinition[]$states
ActionDefinition[]$actions
TransitionDefinition[]$transitions
array$properties
DefinitionErrorInterface[]$errors
string | null$referenceClass
string | null$transitionsClass
string | null$repositoryClass
ExtensionInterface[]$extensions

Member Function Documentation

◆ getMachineType()

getMachineType ( )
Returns
string

◆ getMTime()

getMTime ( )

◆ getStates()

getStates ( )
Returns
StateDefinition[]

◆ getState()

getState ( string  $name)

◆ getActions()

getActions ( )
Returns
ActionDefinition[]

◆ getAction()

getAction ( string  $name)

◆ getTransitions()

getTransitions ( )

◆ getTransition()

getTransition (   $action,
  $sourceState 
)
Parameters
string | ActionDefinition$action
string | StateDefinition$sourceState
Returns
TransitionDefinition

◆ getProperties()

getProperties ( )

◆ getProperty()

getProperty ( string  $name)

◆ getGraph()

getGraph ( )

◆ hasErrors()

hasErrors ( )

◆ getErrors()

getErrors ( )

◆ getReferenceClass()

getReferenceClass ( )

◆ getTransitionsClass()

getTransitionsClass ( )

◆ getRepositoryClass()

getRepositoryClass ( )

◆ findReachableStates()

findReachableStates ( StateDefinition  $initialState = null)

◆ jsonSerialize()

jsonSerialize ( )

◆ hasExtension()

hasExtension ( string  $extensionClassName)
inherited

Return true if an extension of given type is defined for this element.

◆ getExtension()

getExtension ( string  $extensionClassName)
inherited

Get an extension of given type.

Throws UndefinedExtensionException if the extension is not found.

It would be nice to write getExtension<T>(): T ...

ExtensionInterface

Parameters
class-string<ExtensionInterface>$extensionClassName
Returns
ExtensionInterface

◆ findExtension()

findExtension ( string  $extensionClassName)
inherited

Get an extension of given type.

Just like getExtension(), but returns null if the extension is not found.

It would be nice to write getExtension<T>(): T ...

ExtensionInterface

Parameters
class-string<ExtensionInterface>$extensionClassName
Returns
ExtensionInterface

◆ getExtensionClassNames()

getExtensionClassNames ( )
inherited

Get a list of existing extensions.

Returns
string[]