public __construct ( object $subject, MetaborStd\Statemachine\ProcessInterface $process, string $stateName = null, MetaborStd\Statemachine\Factory\TransitionSelectorInterface $transitonSelector = null, MetaborStd\Semaphore\MutexInterface $mutex = null ) | ||
$subject | object | |
$process | MetaborStd\Statemachine\ProcessInterface | |
$stateName | string | |
$transitonSelector | MetaborStd\Statemachine\Factory\TransitionSelectorInterface | |
$mutex | MetaborStd\Semaphore\MutexInterface |
public function __construct($subject, ProcessInterface $process, $stateName = null, TransitionSelectorInterface $transitonSelector = null, MutexInterface $mutex = null)
{
parent::__construct();
$this->subject = $subject;
if ($stateName) {
$this->currentState = $process->getState($stateName);
} else {
$this->currentState = $process->getInitialState();
}
if ($transitonSelector) {
$this->transitonSelector = $transitonSelector;
} else {
$this->transitonSelector = new OneOrNoneActiveTransition();
}
$this->process = $process;
if ($mutex) {
$this->mutex = $mutex;
} else {
$this->mutex = new NullMutex();
}
}