/**
  * Done
  *
  * @return Definition
  * @throws Exception
  */
 public function done()
 {
     if ($this->from === null) {
         throw new Exception('Missing From State');
     }
     if ($this->to === null) {
         throw new Exception('Missing To State');
     }
     if ($this->label == null) {
         throw new Exception('Missing Label');
     }
     $this->from->addTransition(new Transition($this->label, $this->to, $this->guard, $this->action));
     return $this->definition;
 }
예제 #2
0
 /**
  * @inheritDoc
  */
 public function copy(&$visited = [])
 {
     return new self($this->to->copy($visited));
 }
예제 #3
0
 /**
  * Visit State
  *
  * @param State $state
  *
  * @return void
  */
 public function visit(State $state)
 {
     foreach ($state->getTransitions() as $transition) {
         $this->transitions[$transition] = 'T' . ++$this->id;
     }
 }