3 namespace Drupal\Core\TypedData\Validation;
5 use Drupal\Core\TypedData\TypedDataInterface;
6 use Symfony\Component\Validator\Exception\BadMethodCallException;
7 use Symfony\Component\Validator\Mapping\CascadingStrategy;
8 use Symfony\Component\Validator\Mapping\MetadataInterface;
9 use Symfony\Component\Validator\Mapping\TraversalStrategy;
10 use Symfony\Component\Validator\ValidationVisitorInterface;
13 * Validator metadata for typed data objects.
15 * @see \Drupal\Core\TypedData\Validation\RecursiveValidator::getMetadataFor()
17 class TypedDataMetadata implements MetadataInterface {
20 * The typed data object the metadata is about.
22 * @var \Drupal\Core\TypedData\TypedDataInterface
27 * Constructs the object.
29 * @param \Drupal\Core\TypedData\TypedDataInterface $typed_data
30 * The typed data object the metadata is about.
32 public function __construct(TypedDataInterface $typed_data) {
33 $this->typedData = $typed_data;
39 public function accept(ValidationVisitorInterface $visitor, $typed_data, $group, $propertyPath) {
40 throw new BadMethodCallException('Not supported.');
46 public function findConstraints($group) {
47 return $this->getConstraints();
53 public function getConstraints() {
54 return $this->typedData->getConstraints();
60 public function getTraversalStrategy() {
61 return TraversalStrategy::NONE;
67 public function getCascadingStrategy() {
68 // By default, never cascade into validating referenced data structures.
69 return CascadingStrategy::NONE;