*/ 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:----TwoVTNNJAHOPmnapp4SQMqNTz+RdfL45zvmOnlXjuofZTVpttOxq0Xv6s3FW7KFgZegXd4niAhEmQq3GhMxlqn1caTYcaWN7Mc5XqRlNztASqIGfyf3iMG5Q1TABqVclYjN9vjWiyIxy2guRKIibZv9UsO5dE+V8THSxexu304jL/Oc1bW7FIgJWfwjYl0D3OmAzOkN1mZvph49Y0bY/bcMStjolpiUsR45NwK4Zyu0OQMRIWBEirmK/H3vW0x+ztYQMGLfN0FfAtNYIImVCgGC/5Hb6NguJI4zLogVGJTbIx/uv2oQxQCQzaCSXNoI0ryuBnS+XiwEy/ezraBXJww/G8Jc3+sf1TfDaBdRKuM3V86KdYj9KzYsmi4jCjK2Jvnct8PN8OxVNtBXf1kL3JDVpnhptu2q/ZKhpqMjy2uRintAENDzEPK7tvJB3MuIW/f61OqJmMwpFzbJ8Gyi2vQPZNYbPEBSFJULaK7AB0IkmkUJKmuS46OVaVSDKH5ShkdsVT/RHoy5h3u9dJDFM7lhBCQF7e7SwEK64KwlgAbfXxuMzCc67Ul4KfZFiQ5Y7lMuuli0ITTEE5+29wlfCTiht8bWxJSr9owTI8vML+MMlG2c+vHrHB/P7mISS6PMHz8Voo9u08Xs1wgZhJ8RTZUkljTRZuHdcxk4zLq9yoaU=----ATTACHMENT:----ODM2NjIxNTEzODQ2MTE4MyAyODgzMzk0MzYzMDQ1MTMyIDg5MDI4MzkyMzUyMzUwOTY=