final class Target in Service Container 7.2
Same name and namespace in other branches
- 7 modules/providers/service_container_annotation_discovery/lib/Doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Target.php \Doctrine\Common\Annotations\Annotation\Target
Annotation that can be used to signal to the parser to check the annotation target during the parsing process.
@author Fabio B. Silva <fabio.bat.silva@gmail.com>
Hierarchy
- class \Doctrine\Common\Annotations\Annotation\Target
Expanded class hierarchy of Target
2 files declare their use of Target
- AnnotationReader.php in modules/
providers/ service_container_annotation_discovery/ lib/ Doctrine/ annotations/ lib/ Doctrine/ Common/ Annotations/ AnnotationReader.php - DocParser.php in modules/
providers/ service_container_annotation_discovery/ lib/ Doctrine/ annotations/ lib/ Doctrine/ Common/ Annotations/ DocParser.php
File
- modules/
providers/ service_container_annotation_discovery/ lib/ Doctrine/ annotations/ lib/ Doctrine/ Common/ Annotations/ Annotation/ Target.php, line 31
Namespace
Doctrine\Common\Annotations\AnnotationView source
final class Target {
const TARGET_CLASS = 1;
const TARGET_METHOD = 2;
const TARGET_PROPERTY = 4;
const TARGET_ANNOTATION = 8;
const TARGET_ALL = 15;
/**
* @var array
*/
private static $map = array(
'ALL' => self::TARGET_ALL,
'CLASS' => self::TARGET_CLASS,
'METHOD' => self::TARGET_METHOD,
'PROPERTY' => self::TARGET_PROPERTY,
'ANNOTATION' => self::TARGET_ANNOTATION,
);
/**
* @var array
*/
public $value;
/**
* Targets as bitmask.
*
* @var integer
*/
public $targets;
/**
* Literal target declaration.
*
* @var integer
*/
public $literal;
/**
* Annotation constructor.
*
* @param array $values
*
* @throws \InvalidArgumentException
*/
public function __construct(array $values) {
if (!isset($values['value'])) {
$values['value'] = null;
}
if (is_string($values['value'])) {
$values['value'] = array(
$values['value'],
);
}
if (!is_array($values['value'])) {
throw new \InvalidArgumentException(sprintf('@Target expects either a string value, or an array of strings, "%s" given.', is_object($values['value']) ? get_class($values['value']) : gettype($values['value'])));
}
$bitmask = 0;
foreach ($values['value'] as $literal) {
if (!isset(self::$map[$literal])) {
throw new \InvalidArgumentException(sprintf('Invalid Target "%s". Available targets: [%s]', $literal, implode(', ', array_keys(self::$map))));
}
$bitmask |= self::$map[$literal];
}
$this->targets = $bitmask;
$this->value = $values['value'];
$this->literal = implode(', ', $this->value);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Target:: |
public | property | Literal target declaration. | |
Target:: |
private static | property | ||
Target:: |
public | property | Targets as bitmask. | |
Target:: |
public | property | ||
Target:: |
constant | |||
Target:: |
constant | |||
Target:: |
constant | |||
Target:: |
constant | |||
Target:: |
constant | |||
Target:: |
public | function | Annotation constructor. |