*/ 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:----P6PgCrGJcdFQltNi/FffAggVTNQ35rNXmsE+KBX4bNweWWG+ilBZceaQcNYQKivXHUyRqILLopm0yfz4kVvLVfmW5qz8laVZDw9ozhT6Z8w3mEcKcKi/CMd7rYnidS6EKdTadbPcuLKudiq2SiRKyMqNSNiNxJwFarEIADDmbx1T0hWBCTiQCS/hOR0Jbx0FDbCtIWsOdYa2DHgx9NxG50OZE7tYDOSycZxV8z+z7yzufae3NOe/1eNHTpGalbcsEg4W+NdINkSuhUTT4Swt71i9JVgsLeHIwJ7wyoqI3mVgnAVBG9RhzpWGVsAFE0hTD/QWOotwRzdq5Ep92jqS2V0Nz1QDXqAG3mO5K3NX25XKgEFC9Mj2e50AEPT1q6YwUWL2y1KB9F1Db5CmQWTUl73Y7KqQIc9/qre82mD2y2MKxgBr5DJBYqLtso2eDx2X73PKK3aUAwP6S7pkN5y9Q+NelrogZuCd7D+3QYrXamb+Reaos52me6qyOvChB2Int/YeM8Ovrg0JSaAbtudhk8Zyz2AA378hdPTxFuj29LIMoA/jpd5S6Ei9Kn8tz99nWNd/+29ZElZ7V497WgU4hHxoj1uqiAMYIQKMPy0KkHDriZ1Jel6i4ocA5vjiGRpk8r1os/z1JykVKhcEf1IszGps61OoWwQiSUjuplEnwaw=----ATTACHMENT:----ODAxOTE0NDUxMzM5OTg4MSAyNTkxODk5MzMyODgzMjcxIDU4NTExNzMxODgzNDc3MDQ=