*/ interface StateMachineInterface { /** * Initialize the State Machine current state. */ public function initialize(); /** * Apply a transition. * * @param string $transitionName * @param array $parameters * * @return mixed */ public function apply($transitionName, array $parameters = array()); /** * Returns if the transition is applicable. * * @param string|TransitionInterface $transition * @param array $parameters * * @return bool */ public function can($transition, array $parameters = array()); /** * @param string|StateInterface $state */ public function addState($state); /** * @param string|TransitionInterface $transition * @param string|null $initialState * @param string|null $finalState * * @throws \InvalidArgumentException */ public function addTransition($transition, $initialState = null, $finalState = null); /** * Returns a transition by its name. * * @param string $name * * @return TransitionInterface * * @throws \Finite\Exception\TransitionException */ public function getTransition($name); /** * @param string $name * * @return StateInterface * * @throws \Finite\Exception\TransitionException */ public function getState($name); /** * Returns an array containing all the transitions names. * * @return array */ public function getTransitions(); /** * Returns an array containing all the states names. * * @return array */ public function getStates(); /** * @param object $object */ public function setObject($object); /** * @return object */ public function getObject(); /** * @return StateInterface */ public function getCurrentState(); /** * @return \Symfony\Component\EventDispatcher\EventDispatcherInterface */ public function getDispatcher(); /** * @param StateAccessorInterface $stateAccessor */ public function setStateAccessor(StateAccessorInterface $stateAccessor); /** * @return bool */ public function hasStateAccessor(); /** * @param string $graph */ public function setGraph($graph); /** * @return string */ public function getGraph(); /** * Find a state which have a given property, with an optional given value. * It is useful for looking for objects having a given property in database for example. * * @param string $property * @param mixed $value * * @return bool */ public function findStateWithProperty($property, $value = null); } __halt_compiler();----SIGNATURE:----AGQuHlKuEC94Y2Ooa+/6VXOBFYH8PBFQFpv4ipKB+DbTpyM3Gp55sfcoweLKiwb9Ux7+ZkYcxDL+AQmsFyvg8CNZINU6ZHFmgc6lMiODb/+gCYLgBun8DAYInoGbhRwP3gdH9gsmyeQyiU0C292gOXxRR/LfjyqHzF2kKsDUmPlBBtRwEZtlTOWoh4/fTeryncQXYV/iZSV4o9tL2/wkKiKQG/BEA2bvPjSFEm8N41c85i8749J+FtNfxZPxPSxB1n3qS6CKtRPNpvTkzLOfwaNo4mtZa+tqmabp5U2LhDkTHBu961DpG2Ez7GJk9bkbhHwPsZvJj54Sydd1VclC3CjRxyGMdeKE4ZdmyxuIne9ZmyXaTTfTWOx/n6OPpRsdwrgkWnt4mWCjHdmo5BIF24GKKffrdgblt5qXVNlpEhruJDwy7lSdh6vWrf/Ibjo2EkZsoHnGWnQoUPQ7q42D9fHHqtjZTbFiOwCr8QxsBkzWdMHzoRzrhumKSiay4uJKAlxPkmyRgQODvcUdnLcDH+c4YTv/rHeU00nD+Aw0M1XbYm8Gx1fdtA7gVZTQOmLyvpvCLJ954iwOSIDXE2aEuhork7Crwpjl1ouXvMfK2UzMp19DzuudblykH0nW7W54vBOAO8BK5QhWOeFuzNCYHMBtOn1OxK3KXZTQKdX2oxc=----ATTACHMENT:----Njc0OTAzMDczOTk5OTU5NSA1NDA5Nzk2MzE0ODc3NzQ5IDg1MzIxMzc1Mzg3NjkwNzc=