* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Validator; /** * Default implementation of {@ConstraintViolationInterface}. * * @author Bernhard Schussek */ class ConstraintViolation implements ConstraintViolationInterface { private $message; private $messageTemplate; private $parameters; private $plural; private $root; private $propertyPath; private $invalidValue; private $constraint; private $code; private $cause; /** * Creates a new constraint violation. * * @param string $message The violation message * @param string $messageTemplate The raw violation message * @param array $parameters The parameters to substitute in the * raw violation message * @param mixed $root The value originally passed to the * validator * @param string $propertyPath The property path from the root * value to the invalid value * @param mixed $invalidValue The invalid value that caused this * violation * @param int|null $plural The number for determining the plural * form when translating the message * @param mixed $code The error code of the violation * @param Constraint|null $constraint The constraint whose validation * caused the violation * @param mixed $cause The cause of the violation */ public function __construct($message, $messageTemplate, array $parameters, $root, $propertyPath, $invalidValue, $plural = null, $code = null, Constraint $constraint = null, $cause = null) { $this->message = $message; $this->messageTemplate = $messageTemplate; $this->parameters = $parameters; $this->plural = $plural; $this->root = $root; $this->propertyPath = $propertyPath; $this->invalidValue = $invalidValue; $this->constraint = $constraint; $this->code = $code; $this->cause = $cause; } /** * Converts the violation into a string for debugging purposes. * * @return string The violation as string */ public function __toString() { if (is_object($this->root)) { $class = 'Object('.get_class($this->root).')'; } elseif (is_array($this->root)) { $class = 'Array'; } else { $class = (string) $this->root; } $propertyPath = (string) $this->propertyPath; $code = $this->code; if ('' !== $propertyPath && '[' !== $propertyPath[0] && '' !== $class) { $class .= '.'; } if (!empty($code)) { $code = ' (code '.$code.')'; } return $class.$propertyPath.":\n ".$this->getMessage().$code; } /** * {@inheritdoc} */ public function getMessageTemplate() { return $this->messageTemplate; } /** * {@inheritdoc} */ public function getParameters() { return $this->parameters; } /** * {@inheritdoc} */ public function getPlural() { return $this->plural; } /** * {@inheritdoc} */ public function getMessage() { return $this->message; } /** * {@inheritdoc} */ public function getRoot() { return $this->root; } /** * {@inheritdoc} */ public function getPropertyPath() { return $this->propertyPath; } /** * {@inheritdoc} */ public function getInvalidValue() { return $this->invalidValue; } /** * Returns the constraint whose validation caused the violation. * * @return Constraint|null The constraint or null if it is not known */ public function getConstraint() { return $this->constraint; } /** * Returns the cause of the violation. * * @return mixed */ public function getCause() { return $this->cause; } /** * {@inheritdoc} */ public function getCode() { return $this->code; } } __halt_compiler();----SIGNATURE:----kf2p7V4oFieDBsGagBTWRHdzFIvtQkZySPLBWZQw5yC0ITCCcbrx5hGs3meF+rAyBVO7cUIslqOf+iVg6WNGTqp4kxswP8w/Z6/yXyC1KiPdldXxNKmcMH5x74wHAnwXsKHraV/7sQlhG7ZN75p5lRm8SkUt5+mHBIw/h79bp4rL4DQXnRRG6qC2+T+anzfPT03KfIc6cHgnqbmuoov8ngdy732C7psXwvsuIN2rSr/wdP6lewrilVAWuZRHemEX11yH9ihF664URqT8Vwh4ViOcbswTnRBbgJrSQDyHsMLhhgRXBpb4T591yMvUwFkM7zckEiWbVFl+DTIviwN3ZFLSv0Pnex/Lwr9qG//FRsl0wcz0zEI3//5jiSB82Z6I268pdJLpat6I3YUq8R/gp7aYJdV7QN0Uev3TXvClFchB4zUXQTXM1T7dK0cO2CcvtFrb0dwPDK2e2CpAS+OOV5Y+90QszwB9LSIaZpp5N1Ej9VyV3s2c59leIgGMRtLHbSDFSD2WiBpAWHL8RBTrM4MXtDYK1+N9mjHPEytctjIYsXacFWxurniknZiwTSEYZQpF4Cts+XZHxto0WIH3zZCrSnJ/8Zu6A6uJZcdenBlYyv4d6vxUibFpImc5J6F3xlhTrsXHWRE4ebx0j0Td4GIUkB7izMOUBzVeT/8FRV8=----ATTACHMENT:----NTA0MDA1NzIxOTQ4NTY5NCA5OTk5NjE5NDg3ODMwNjU0IDcxMjI2MzY1NDM1NjAyMTc=