Metabor\Statemachine\Statemachine::__construct PHP Метод

__construct() публичный Метод

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