*/ class CallbackBuilder { /** * @var StateMachineInterface */ private $stateMachine; /** * @var array */ private $from; /** * @var array */ private $to; /** * @var array */ private $on; /** * @var callable */ private $callable; /** * @param StateMachineInterface $sm * @param array $from * @param array $to * @param array $on * @param callable $callable */ public function __construct(StateMachineInterface $sm, array $from = array(), array $to = array(), array $on = array(), $callable = null) { $this->stateMachine = $sm; $this->from = $from; $this->to = $to; $this->on = $on; $this->callable = $callable; } /** * @param array $from * * @return CallbackBuilder */ public function setFrom(array $from) { $this->from = $from; return $this; } /** * @param array $to * * @return CallbackBuilder */ public function setTo(array $to) { $this->to = $to; return $this; } /** * @param array $on * * @return CallbackBuilder */ public function setOn(array $on) { $this->on = $on; return $this; } /** * @param callable $callable * * @return CallbackBuilder */ public function setCallable($callable) { $this->callable = $callable; return $this; } /** * @param string $from * * @return CallbackBuilder */ public function addFrom($from) { $this->from[] = $from; return $this; } /** * @param string $to * * @return CallbackBuilder */ public function addTo($to) { $this->to[] = $to; return $this; } /** * @param string $on * * @return CallbackBuilder */ public function addOn($on) { $this->from[] = $on; return $this; } /** * @return Callback */ public function getCallback() { return new Callback( new CallbackSpecification($this->stateMachine, $this->from, $this->to, $this->on), $this->callable ); } /** * @param StateMachineInterface $sm * @param array $from * @param array $to * @param array $on * @param callable $callable * * @return CallbackBuilder */ public static function create(StateMachineInterface $sm, array $from = array(), array $to = array(), array $on = array(), $callable = null) { return new self($sm, $from, $to, $on, $callable); } } __halt_compiler();----SIGNATURE:----gBzxyUdxiOEv6UkOlIpxwxVQafuTdyp0yu/A6PXWYLjE3zHhzL0nedg0hiLB+gzOapckkIVsaPWbyoCvF+J2C1HZVICRVHyX/Pq/EZlnlnV3mjLZqwu6Ak9nfkWlwYVMjG80oEevxktnMt1APDHGIXRzLGvQj0iDTBsdZs4lmdAAwSzM0JikqzK0nr7sDiyMxZRml5OVi0h/K0LpJqN1K95WyDv6GWCcKKEPK8u4XxIWdfEt5PyS66rvyRh2jJgiQQt5H8YHqprK0KAV4cire+oGlop4OX3rw++Dy0NikIWernr7QY197jJiapiabWug9m+Fmqm4POqQy1oh1HUagLNwNN+3QpJ5jDh2W23lnpbDRArFzGXNjaLPX2dkGrNF19RzEXPTDUqdlceS6cgMoOWYrmiQFjf/WqVnTC+/Pd1sLc2mOTQBfIGMQK4eVDoZuTPcthmvuGIJnh5/FNO11SrQNa3NH7C6382aZ8hBLHp+i9qlNCdUunFB1ZLzZpelAdo8TTPSEqnPjex+58IBN8f9AH8WiEg7g7Zme4KNWLHK3HYfJ+j/LrMtjjsBzYeicPrCDXlvTOY+UuvY0vn/f3quPUu2jLL3470rpbhSi32CCNTtjGSmLoBsRSgJpVWjoYep41Lk04XbWADTZEXuksHx4cgaXBlYj0QAr7PNBNY=----ATTACHMENT:----ODUwOTQxMTg4NzQ3NjU1MCAyNzkxNDM3NDA1OTA3NTU4IDkzNTMyNDA5NzcwMTA5ODk=