*/ class Context { /** * @var FactoryInterface */ protected $factory; /** * @param FactoryInterface $factory */ public function __construct(FactoryInterface $factory) { $this->factory = $factory; } /** * @param object $object * @param string $graph * * @return string */ public function getState($object, $graph = 'default') { return $this->getStateMachine($object, $graph)->getCurrentState()->getName(); } /** * @param object $object * @param string $graph * @param bool $asObject * * @return array */ public function getTransitions($object, $graph = 'default', $asObject = false) { if (!$asObject) { return $this->getStateMachine($object, $graph)->getCurrentState()->getTransitions(); } $stateMachine = $this->getStateMachine($object, $graph); return array_map( function ($transition) use ($stateMachine) { return $stateMachine->getTransition($transition); }, $stateMachine->getCurrentState()->getTransitions() ); } /** * @param object $object * @param string $graph * * @return array */ public function getProperties($object, $graph = 'default') { return $this->getStateMachine($object, $graph)->getCurrentState()->getProperties(); } /** * @param object $object * @param string $property * @param string $graph * * @return bool */ public function hasProperty($object, $property, $graph = 'default') { return $this->getStateMachine($object, $graph)->getCurrentState()->has($property); } /** * @param object $object * @param string $graph * * @return StateMachine */ public function getStateMachine($object, $graph = 'default') { return $this->getFactory()->get($object, $graph); } /** * @return FactoryInterface */ public function getFactory() { return $this->factory; } } __halt_compiler();----SIGNATURE:----diLS25GyjUWsApilw/aJtdsuMvlrWpoCqHbzdzESVttK/jjz9GOCfO8Vn0mMuqSv67iz7cnzFgz+WQwUdp1GU7l/4ruwQe799fXa35nhBlAZagmQzzW9cam+lhViWZS/+rPiCOksgWyxOt1EAxL0qZ/el58N3BmkwBOZPxcyZL9TVqLCN67jv918oGHgnMH+hyDb1uZ0xez+azGGrFxLiLulbUBY4JS3eY9bkJ+df1mJJ72hdwpiXJrfjnYNmU5fvTAphL+F/xjJTKW98IEXIwFCyj3JOOnvUFTt0TbiH8YASq/OVnEr8VcMVnIWu89c6C0BflnVicW3kQrOcYzfTHl97F9xUGpwCLpiupPnTctrh56iv3QeNcsOjNTONzToSx/7BL2D9YZVLuj7sOajFJdCK/Ff5Q4Ke3PPqO0tUkTOAUu9+Z8ISobzp7DCrk+Xq4AeUVaFz0oamgpjxE5FCpiZSn8r8X7HNNRNF86McVYojMWnrLGkz0Q54l55PKGLAQsQSe9Q5rzPEXF6y/a0nfcS/3JnHcCjRRtYtkNJXgpsHZum9IZw0gCCeoASr3uj4fTuG375eAmKtJSuNioobj3D8mn4PDyV7FoAmVWkBu30sADu5eK1eGpmw0/x9OwVOtwAikfwaU99QMD4AzwdTvm/3G+LiU/loNxlZ2J6BH4=----ATTACHMENT:----MzE0MTUzMDE5ODQwODk1MCA1OTg2NzA5MTg3Nzk3MDE1IDgzNjkxNzE3NzQxMTA2NjY=