/** * @param StateInterface $initialState * @param TransitionInterface $transition * @param StateMachine $stateMachine * @param array $properties */ public function __construct(StateInterface $initialState, TransitionInterface $transition, StateMachine $stateMachine, array $properties = array()) { $this->transition = $transition; $this->initialState = $initialState; $this->properties = $properties; if ($transition instanceof PropertiesAwareTransitionInterface) { $this->properties = $transition->resolveProperties($properties); } parent::__construct($stateMachine); }
/** * Dispatches event for the transition * * @param TransitionInterface $transition * @param TransitionEvent $event * @param type $transitionState */ private function dispatchTransitionEvent(TransitionInterface $transition, TransitionEvent $event, $transitionState) { $this->dispatcher->dispatch($transitionState, $event); $this->dispatcher->dispatch($transitionState . '.' . $transition->getName(), $event); if (null !== $this->getGraph()) { $this->dispatcher->dispatch($transitionState . '.' . $this->getGraph() . '.' . $transition->getName(), $event); } }
/** * Default attributes for an edge (transition) * * @param $trans * * @return array */ private function getEdgeDefaultAttributes(TransitionInterface $trans) { return ['label' => $trans->getName()]; }