*/ 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:----nBIMCMXyjmnlSM6YZJy60RdYabESWJJ7d10w6SqHPL5tfif6Ww0IfRfKC6sPzB/v56SWqlenjBFN7oGfIwl6eqUgb1cIFSskxtnbEWrXso1g6tRiZlu9jnTO2ZP4fiflg8DuwOpkt8oYCAmL5sPW5F58Y/x8gktrZtOW/lNM3pqwqDlct1d0Fx30Xzc7LRjeqAVBACB2qkSP4sGPm/+Ai0vroRZVHZopCpi2/wJwFUjpP7ISzHtQtCPxm7OP/FOVfBTwMtvoDtHGCnfWDO9SXI6HG8tciF3k7a4kRiqf5i3XDOGJMK32FafrQYkzMdu0E/2RROtNB/ujePcDteDd/RFax2zx65/Ec+kfH9VNvitBXHm7fd7eG62Txud5ry6NAXdIRJvRRLAymZvuil159AGyTg9Kt7DALU764onEDhhYUI9OxJDRZPGRwaL1+sxyqCdeHAq6t64Vkp4EObrVNF8Y+jcidH3gLpsIyknA6TgV90l8GKgZzKTs23DSPN2p+vTPU+fg/c4xzqMdfrRjjJGNtcH7YOGiKKDeSqexvWGfIf/eB5CHljWfWylLRf2n5iSujoIf/tIIojedvwY4qmWEM9uJ4jQaDkcPd9YLSBYol7uuZSrBgPpFJILzEiH9mU0I983nejEexs+fiq37YXKiQFX+4x9sZQCSWzeXMb8=----ATTACHMENT:----NDc5NTk2NDYyMTM2NjM1IDY5NDQ0NTE4NTExOTE3ODQgMjM2NDA0NzU0MzY2ODMzMA==