StateMachine

class StateMachine extends Workflow

Methods

__construct(Definition $definition, MarkingStoreInterface $markingStore = null, EventDispatcherInterface $dispatcher = null, $name = 'unnamed')
Marking getMarking(object $subject)

Returns the object's Marking.

from Workflow
bool can(object $subject, string $transitionName)

Returns true if the transition is enabled.

from Workflow
Marking apply(object $subject, string $transitionName)

Fire a transition.

from Workflow
Transition[] getEnabledTransitions(object $subject)

Returns all enabled transitions.

from Workflow
getName() from Workflow
Definition getDefinition() from Workflow

Details

__construct(Definition $definition, MarkingStoreInterface $markingStore = null, EventDispatcherInterface $dispatcher = null, $name = 'unnamed')

Parameters

Definition $definition
MarkingStoreInterface $markingStore
EventDispatcherInterface $dispatcher
$name

Marking getMarking(object $subject)

Returns the object's Marking.

Parameters

object $subject A subject

Return Value

Marking The Marking

Exceptions

LogicException

bool can(object $subject, string $transitionName)

Returns true if the transition is enabled.

Parameters

object $subject A subject
string $transitionName A transition

Return Value

bool true if the transition is enabled

Exceptions

LogicException If the transition does not exist

Marking apply(object $subject, string $transitionName)

Fire a transition.

Parameters

object $subject A subject
string $transitionName A transition

Return Value

Marking The new Marking

Exceptions

LogicException If the transition is not applicable
LogicException If the transition does not exist

Transition[] getEnabledTransitions(object $subject)

Returns all enabled transitions.

Parameters

object $subject A subject

Return Value

Transition[] All enabled transitions

getName()

Definition getDefinition()

Return Value

Definition

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/Workflow/StateMachine.html