You are here

class ConstraintViolation in Plug 7

Default implementation of {@ConstraintViolationInterface}.

@author Bernhard Schussek <bschussek@gmail.com>

Hierarchy

Expanded class hierarchy of ConstraintViolation

6 files declare their use of ConstraintViolation
AbstractConstraintValidatorTest.php in lib/Symfony/validator/Symfony/Component/Validator/Tests/Constraints/AbstractConstraintValidatorTest.php
ConstraintViolationBuilder.php in lib/Symfony/validator/Symfony/Component/Validator/Violation/ConstraintViolationBuilder.php
ConstraintViolationListTest.php in lib/Symfony/validator/Symfony/Component/Validator/Tests/ConstraintViolationListTest.php
ConstraintViolationTest.php in lib/Symfony/validator/Symfony/Component/Validator/Tests/ConstraintViolationTest.php
ExecutionContext.php in lib/Symfony/validator/Symfony/Component/Validator/Context/ExecutionContext.php

... See full list

File

lib/Symfony/validator/Symfony/Component/Validator/ConstraintViolation.php, line 19

Namespace

Symfony\Component\Validator
View source
class ConstraintViolation implements ConstraintViolationInterface {

  /**
   * @var string
   */
  private $message;

  /**
   * @var string
   */
  private $messageTemplate;

  /**
   * @var array
   */
  private $parameters;

  /**
   * @var int|null
   */
  private $plural;

  /**
   * @var mixed
   */
  private $root;

  /**
   * @var string
   */
  private $propertyPath;

  /**
   * @var mixed
   */
  private $invalidValue;

  /**
   * @var Constraint|null
   */
  private $constraint;

  /**
   * @var mixed
   */
  private $code;

  /**
   * @var mixed
   */
  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 getMessageParameters() {
    return $this->parameters;
  }

  /**
   * Alias of {@link getMessageParameters()}.
   */
  public function getParameters() {
    return $this->parameters;
  }

  /**
   * {@inheritdoc}
   */
  public function getMessagePluralization() {
    return $this->plural;
  }

  /**
   * Alias of {@link getMessagePluralization()}.
   */
  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;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ConstraintViolation::$cause private property
ConstraintViolation::$code private property
ConstraintViolation::$constraint private property
ConstraintViolation::$invalidValue private property
ConstraintViolation::$message private property
ConstraintViolation::$messageTemplate private property
ConstraintViolation::$parameters private property
ConstraintViolation::$plural private property
ConstraintViolation::$propertyPath private property
ConstraintViolation::$root private property
ConstraintViolation::getCause public function Returns the cause of the violation.
ConstraintViolation::getCode public function Returns a machine-digestible error code for the violation. Overrides ConstraintViolationInterface::getCode
ConstraintViolation::getConstraint public function Returns the constraint whose validation caused the violation.
ConstraintViolation::getInvalidValue public function Returns the value that caused the violation. Overrides ConstraintViolationInterface::getInvalidValue
ConstraintViolation::getMessage public function Returns the violation message. Overrides ConstraintViolationInterface::getMessage
ConstraintViolation::getMessageParameters public function Returns the parameters to be inserted into the raw violation message. Overrides ConstraintViolationInterface::getMessageParameters
ConstraintViolation::getMessagePluralization public function Returns a number for pluralizing the violation message. Overrides ConstraintViolationInterface::getMessagePluralization
ConstraintViolation::getMessageTemplate public function Returns the raw violation message. Overrides ConstraintViolationInterface::getMessageTemplate
ConstraintViolation::getParameters public function Alias of {@link getMessageParameters()}.
ConstraintViolation::getPlural public function Alias of {@link getMessagePluralization()}.
ConstraintViolation::getPropertyPath public function Returns the property path from the root element to the violation. Overrides ConstraintViolationInterface::getPropertyPath
ConstraintViolation::getRoot public function Returns the root element of the validation. Overrides ConstraintViolationInterface::getRoot
ConstraintViolation::__construct public function Creates a new constraint violation.
ConstraintViolation::__toString public function Converts the violation into a string for debugging purposes.