| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 | 
							- <?php
 
- /*
 
-  * This file is part of the Symfony package.
 
-  *
 
-  * (c) Fabien Potencier <fabien@symfony.com>
 
-  *
 
-  * For the full copyright and license information, please view the LICENSE
 
-  * file that was distributed with this source code.
 
-  */
 
- namespace Symfony\Component\Validator\Violation;
 
- use Symfony\Component\Translation\TranslatorInterface;
 
- use Symfony\Component\Validator\Constraint;
 
- use Symfony\Component\Validator\ConstraintViolation;
 
- use Symfony\Component\Validator\ConstraintViolationList;
 
- use Symfony\Component\Validator\Util\PropertyPath;
 
- /**
 
-  * Default implementation of {@link ConstraintViolationBuilderInterface}.
 
-  *
 
-  * @author Bernhard Schussek <bschussek@gmail.com>
 
-  *
 
-  * @internal You should not instantiate or use this class. Code against
 
-  *           {@link ConstraintViolationBuilderInterface} instead.
 
-  */
 
- class ConstraintViolationBuilder implements ConstraintViolationBuilderInterface
 
- {
 
-     /**
 
-      * @var ConstraintViolationList
 
-      */
 
-     private $violations;
 
-     /**
 
-      * @var string
 
-      */
 
-     private $message;
 
-     /**
 
-      * @var array
 
-      */
 
-     private $parameters;
 
-     /**
 
-      * @var mixed
 
-      */
 
-     private $root;
 
-     /**
 
-      * @var mixed
 
-      */
 
-     private $invalidValue;
 
-     /**
 
-      * @var string
 
-      */
 
-     private $propertyPath;
 
-     /**
 
-      * @var TranslatorInterface
 
-      */
 
-     private $translator;
 
-     /**
 
-      * @var string|null
 
-      */
 
-     private $translationDomain;
 
-     /**
 
-      * @var int|null
 
-      */
 
-     private $plural;
 
-     /**
 
-      * @var Constraint
 
-      */
 
-     private $constraint;
 
-     /**
 
-      * @var mixed
 
-      */
 
-     private $code;
 
-     /**
 
-      * @var mixed
 
-      */
 
-     private $cause;
 
-     public function __construct(ConstraintViolationList $violations, Constraint $constraint, $message, array $parameters, $root, $propertyPath, $invalidValue, TranslatorInterface $translator, $translationDomain = null)
 
-     {
 
-         $this->violations = $violations;
 
-         $this->message = $message;
 
-         $this->parameters = $parameters;
 
-         $this->root = $root;
 
-         $this->propertyPath = $propertyPath;
 
-         $this->invalidValue = $invalidValue;
 
-         $this->translator = $translator;
 
-         $this->translationDomain = $translationDomain;
 
-         $this->constraint = $constraint;
 
-     }
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     public function atPath($path)
 
-     {
 
-         $this->propertyPath = PropertyPath::append($this->propertyPath, $path);
 
-         return $this;
 
-     }
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     public function setParameter($key, $value)
 
-     {
 
-         $this->parameters[$key] = $value;
 
-         return $this;
 
-     }
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     public function setParameters(array $parameters)
 
-     {
 
-         $this->parameters = $parameters;
 
-         return $this;
 
-     }
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     public function setTranslationDomain($translationDomain)
 
-     {
 
-         $this->translationDomain = $translationDomain;
 
-         return $this;
 
-     }
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     public function setInvalidValue($invalidValue)
 
-     {
 
-         $this->invalidValue = $invalidValue;
 
-         return $this;
 
-     }
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     public function setPlural($number)
 
-     {
 
-         $this->plural = $number;
 
-         return $this;
 
-     }
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     public function setCode($code)
 
-     {
 
-         $this->code = $code;
 
-         return $this;
 
-     }
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     public function setCause($cause)
 
-     {
 
-         $this->cause = $cause;
 
-         return $this;
 
-     }
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     public function addViolation()
 
-     {
 
-         if (null === $this->plural) {
 
-             $translatedMessage = $this->translator->trans(
 
-                 $this->message,
 
-                 $this->parameters,
 
-                 $this->translationDomain
 
-             );
 
-         } else {
 
-             try {
 
-                 $translatedMessage = $this->translator->transChoice(
 
-                     $this->message,
 
-                     $this->plural,
 
-                     $this->parameters,
 
-                     $this->translationDomain
 
-                 );
 
-             } catch (\InvalidArgumentException $e) {
 
-                 $translatedMessage = $this->translator->trans(
 
-                     $this->message,
 
-                     $this->parameters,
 
-                     $this->translationDomain
 
-                 );
 
-             }
 
-         }
 
-         $this->violations->add(new ConstraintViolation(
 
-             $translatedMessage,
 
-             $this->message,
 
-             $this->parameters,
 
-             $this->root,
 
-             $this->propertyPath,
 
-             $this->invalidValue,
 
-             $this->plural,
 
-             $this->code,
 
-             $this->constraint,
 
-             $this->cause
 
-         ));
 
-     }
 
- }
 
 
  |