*/ 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:----RA5P1e7SLe9cuBW2+eoUdczRvr80x2QxzZEiaxlx3zjDyqre8pO1iRtjKrVAE4SjBSlh7s0KQ7cESRwoWW87HtKuLSXEEqZr7H+sohwbcJH2seb+5deoaerE8zuDwhRZ1hPEuz25eM3dDAQXeAkj6lJGT0Zr7OwkhSlGvDJ4yKAuY+nIKmwSORB3OFvOekyk/YC9vGWWVE74A91omrxGTgH7KhGK64ZISf86VhieD4E6ZS3+5P15fmwoIGTFiHYxyOZgPx79e4mE/qwymU9673i7JR8TSgQdB1suM81ySv9JPOTNDjf/VgZftXSFACb29ZwVpx6L9F9G38/PRYA7hX1kG40sLs6MskN1ujMtXyKcDDut/7vMcKMGR6fjL2fLdvWJfUSQ5a6fsRJNNPadRxPOLcmj9/4LBcs9uvZo6VUltrPb4yzlnDoXaR7RwmXls927t48br4rM5QcrSy8bCtO/oF7zCUOXnq5ZCwJ+qpuMSlH+b1eJOCa3LGFvSrDnpAuuUQdRQUx9em72IekYNcIT0wuJuNensgAlnGcnikEmklY1V5Ng2aT0vkwXZ2aD2gh+p8D4BuoYA+z8ryWEEYt6wF8i59NCQhhbVgVY3DzOhKFy2gepozPEoie/QDwNe/jwOyK8lI444mkgxvdDmZWqI3/fenziE6mGQ9SWuqU=----ATTACHMENT:----MzI1MTkyMjk2OTk1Mzk2NSA1MjcwMTQxMjc0MDg3ODg5IDk1NzU3NTQ5ODE2MjkxNzM=