Chris@0: . Chris@0: */ Chris@0: Chris@0: namespace Doctrine\Common\Annotations; Chris@0: Chris@0: /** Chris@0: * Annotations class. Chris@0: * Chris@0: * @author Benjamin Eberlei Chris@0: * @author Guilherme Blanco Chris@0: * @author Jonathan Wage Chris@0: * @author Roman Borschel Chris@0: */ Chris@0: class Annotation Chris@0: { Chris@0: /** Chris@0: * Value property. Common among all derived classes. Chris@0: * Chris@0: * @var string Chris@0: */ Chris@0: public $value; Chris@0: Chris@0: /** Chris@0: * Constructor. Chris@0: * Chris@0: * @param array $data Key-value for properties to be defined in this class. Chris@0: */ Chris@0: public final function __construct(array $data) Chris@0: { Chris@0: foreach ($data as $key => $value) { Chris@0: $this->$key = $value; Chris@0: } Chris@0: } Chris@0: Chris@0: /** Chris@0: * Error handler for unknown property accessor in Annotation class. Chris@0: * Chris@0: * @param string $name Unknown property name. Chris@0: * Chris@0: * @throws \BadMethodCallException Chris@0: */ Chris@0: public function __get($name) Chris@0: { Chris@0: throw new \BadMethodCallException( Chris@0: sprintf("Unknown property '%s' on annotation '%s'.", $name, get_class($this)) Chris@0: ); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Error handler for unknown property mutator in Annotation class. Chris@0: * Chris@0: * @param string $name Unknown property name. Chris@0: * @param mixed $value Property value. Chris@0: * Chris@0: * @throws \BadMethodCallException Chris@0: */ Chris@0: public function __set($name, $value) Chris@0: { Chris@0: throw new \BadMethodCallException( Chris@0: sprintf("Unknown property '%s' on annotation '%s'.", $name, get_class($this)) Chris@0: ); Chris@0: } Chris@0: }