*/ class PropertyPathStateAccessor implements StateAccessorInterface { /** * @var string */ private $propertyPath; /** * @var PropertyAccessorInterface */ private $propertyAccessor; /** * @param string $propertyPath * @param PropertyAccessorInterface $propertyAccessor */ public function __construct($propertyPath = 'finiteState', PropertyAccessorInterface $propertyAccessor = null) { $this->propertyPath = $propertyPath; $this->propertyAccessor = $propertyAccessor ?: PropertyAccess::createPropertyAccessor(); } /** * {@inheritdoc} */ public function getState($object) { try { return $this->propertyAccessor->getValue($object, $this->propertyPath); } catch (SymfonyNoSuchPropertyException $e) { throw new NoSuchPropertyException(sprintf( 'Property path "%s" on object "%s" does not exist.', $this->propertyPath, get_class($object) ), $e->getCode(), $e); } } /** * {@inheritdoc} */ public function setState(&$object, $value) { try { $this->propertyAccessor->setValue($object, $this->propertyPath, $value); } catch (SymfonyNoSuchPropertyException $e) { throw new NoSuchPropertyException(sprintf( 'Property path "%s" on object "%s" does not exist.', $this->propertyPath, get_class($object) ), $e->getCode(), $e); } } } __halt_compiler();----SIGNATURE:----ZFlLdeyhLmWfQss1gnhvX4q9nxnUKSZvacyIUZAQtbdJfjQqJ8PO6VbWoRsRUI4dnJQf3jBHINWn6pzZ9yia0PdO4mh+aU/9madu/1lnkEk/5Br1BfEdV31/tcRZiXxTVTVmnXJ/gjEiqlKzD49r41jQ8JEfpJaeqFRjJ2iSVpL1rfc9LPlcfMxZqY2QwUz20eBKBWe5JwXzlaTQVV7PMRpw39K7QU00mlNVu7kZFVGLQPvtemv2hiL2ZLvc4SYUNRipTlfm+7IJxob/Kb9jJpi3fmBxYyPND2NaXJkASqIdaqiW+dBMMLRLVeAdkxgX860jhWbo4O9WCHzAtdUgjpX0nZDYwEjnSjs8k6g6st+d1528PUqzm9C1aV6/yMq7BCu1kzmh72UBohhFI+AQDK9dskBS35hjhZww7OKPHeivrbtn5mkPKtxoPoxwCCpSzrV8RYJT6Yx/wy+oExe8Mwi23+jYKDnETk/+EAirVrS6F/4atQAEOZYYrKCGq+10mbNewFXmcvmBnkNFdlBIHDVo1/AHn0DTtmRVy1D2/6B1QT0wlzV530zmYTbFlLtfmk7c7AcM6L98zT1ugh/OsMNLiMs/TQ2sZRu6ph4Z/1ZWwH8KuzYTozBb6HD7DNMrWGpqktVMUCLhk3blplEiOQ5mwIXaf8BOaK3I/6I4lwU=----ATTACHMENT:----MTczNTUwNjEzODk4OTQyMyA4MjY2MzEwMjE3MjIwODIxIDczMjY1NTk3OTE5MTk5MzA=