Upgraded drupal core with security updates
[yaffs-website] / web / core / lib / Drupal / Core / Validation / ConstraintValidatorFactory.php
1 <?php
2
3 namespace Drupal\Core\Validation;
4
5 use Drupal\Core\DependencyInjection\ClassResolverInterface;
6 use Symfony\Component\Validator\Constraint;
7 use Symfony\Component\Validator\ConstraintValidatorFactory as BaseConstraintValidatorFactory;
8
9 /**
10  * Defines a constraint validator factory that works with container injection.
11  */
12 class ConstraintValidatorFactory extends BaseConstraintValidatorFactory {
13
14   /**
15    * Constructs a new ConstraintValidatorFactory.
16    *
17    * @param \Drupal\Core\DependencyInjection\ClassResolverInterface $class_resolver
18    */
19   public function __construct(ClassResolverInterface $class_resolver) {
20     $this->classResolver = $class_resolver;
21   }
22
23   /**
24    * {@inheritdoc}
25    */
26   public function getInstance(Constraint $constraint) {
27     $class_name = $constraint->validatedBy();
28
29     if (!isset($this->validators[$class_name])) {
30       $this->validators[$class_name] = $this->classResolver->getInstanceFromDefinition($class_name);
31     }
32
33     return $this->validators[$class_name];
34   }
35
36 }