*/ 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:----jX4SbzKF7RPCP/RnDTbxIcYZ35gtyDaEYseObFrelcATVhndbCb0ik4gKT7UivOZd8Qx+aqZGsLdWiDj8+f50L0SI6hewcuEBOE9L+Q7CTgiXuE+5iyJKHGx1CNi27Ij/eNYLsU3PzO+yVOQ4LEilQjbW99SBDMT8BrU6eztHLDQukoZF+ANfa/8xFgPS+h3ip31FFUKc8s2+U7n8Jrn+jJ+tgKp6kYz+gqmHV/CdgUZxaPCtTApKhWLzo7pzv3ZZ12DpoSBMBuSll4MDdmfYw9Z6kcBKX1WxQe9bs8AYRlo8LshhLP5DFBgArJGGd0yZxQkEMK6fRKPQzm54UOsZ+mj8Hw1Cd3LiALmPgVFGQYXmCYuLJ02xyFi3uxHhCRnaxLLAATxUwhMcvJaojOyMBHuVIk5Pseu3Dzjwyc6jSp2+2oWIlQKCDTbaXl4esX6uTBF2BvNpEZ/a7ZvZ/f5UpOK+QGfoipjYA8FjensBMUHYC40XXEVH2PYvqE6JMUXmoCWBnQzqg0pshj537WUogv0qpryx2PGpnu77iWdZuBhgPQBMWmXih4eaf+1auzONqKo06E24U5k7MCbJHI0nI/es25Wy6vqKjQH/WQQvD6ICsaP2CThdRfZ67edl9KrR3nkG/0aVwDpCtq3LkmEARtwcqoKDNxLCUlBPUeCXRQ=----ATTACHMENT:----MTMzNTgxMDc1ODE1MTEwNSAxMjM1NzcxNzgwMzQwMDg4IDExNjg3MzM4MjQ1ODM3MTg=