Metabor\Statemachine\StateCollection::addState PHP Method

addState() public method

public addState ( MetaborStd\Statemachine\StateInterface $state )
$state MetaborStd\Statemachine\StateInterface
    public function addState(StateInterface $state)
    {
        $this->states->add($state);
    }

Usage Example

Example #1
0
 /**
  * @param StateInterface $state
  */
 protected function addState(StateInterface $state)
 {
     $name = $state->getName();
     if ($this->states->hasState($name)) {
         if ($this->states->getState($name) !== $state) {
             throw new \Exception('There is already a different state with name "' . $name . '"');
         }
     } else {
         $this->states->addState($state);
         /* @var $transition TransitionInterface */
         foreach ($state->getTransitions() as $transition) {
             $targetState = $transition->getTargetState();
             $this->addState($targetState);
         }
     }
 }
All Usage Examples Of Metabor\Statemachine\StateCollection::addState