*/ 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:----CKnve82L/tKqh4AM8kGxS+c8TEnwo4KkygJcaNEpl2TYB4ZoBNF8tKe06MVYObQ7ttKoXF7ZrwmxjZNlpIpTUtaVvw1QpJ/pyIb18p5fx+rG/kPdrNNU7Jt4IkxOblcOCDt2UB11ayJ8GIKXLGnmHyAI/c5hvlNoBuIF0YaN98XEzcfDND1DI02nzv6AlxOwpplowFCBQw0crm+AuY9sV2d3uVUhkucj10WphiYKZgw++tYRdUJbmRE1zqkJAMHFOVymyYx9cghpjnLm2mFWHPJcWu69S7MiLTh46+TZjumwDMEtTd7/hqrjqMq+89dz/1G1EIIQPYFg4Z8mOC1mxS+MOsuiMzVxDEHQEWPtyVCzdQj6jg/OpQHdYH/n7c5xGDVMG18ckNrb8LfzIlaCOeeaKC1I+513JCAJ0J0k+z5dcNLCZjXcrxOTEsXqWHNQe1Bd5rMNBA+NWdsK0j27J3GnFIIZ0Kb4t9ocrdMIEwFTAi6myDkhqMIjuwdeKnmlr7pEONNeyYbtrY+oVqKCFyNhGbSpuk11OGOy7hT8QF6gzAeV92XkCuqSptGzmvidW8Sd2aV6+HwJe5kbDvWXSw0RXZw0FRqppP1ntjU1Z8L3n6FvY1YAnRo5Cw5dfCdli4LNl+XfvSpWev/UcxsjbtRaQYq7LYKek3M8qKYbTWE=----ATTACHMENT:----OTMxMzc2NDYxOTczODQyMiAyMjkyNDMzNTI5MjE5MzU3IDQ1ODg3OTQ0MTk3NzUzNjE=