ConstraintViolation.php

Namespace

Symfony\Component\Validator

File

drupal/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolation.php
View source
<?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;


/**
 * Default implementation of {@ConstraintViolationInterface}.
 *
 * @author Bernhard Schussek <bschussek@gmail.com>
 */
class ConstraintViolation implements ConstraintViolationInterface {

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

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

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

  /**
   * @var integer|null
   */
  private $messagePluralization;

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

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

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

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

  /**
   * Creates a new constraint violation.
   *
   * @param string       $message               The violation message.
   * @param string       $messageTemplate       The raw violation message.
   * @param array        $messageParameters     The parameters to substitute
   *                                            in the raw 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 causing the
   *                                            violation.
   * @param integer|null $messagePluralization  The pluralization parameter.
   * @param mixed        $code                  The error code of the
   *                                            violation, if any.
   */
  public function __construct($message, $messageTemplate, array $messageParameters, $root, $propertyPath, $invalidValue, $messagePluralization = null, $code = null) {
    $this->message = $message;
    $this->messageTemplate = $messageTemplate;
    $this->messageParameters = $messageParameters;
    $this->messagePluralization = $messagePluralization;
    $this->root = $root;
    $this->propertyPath = $propertyPath;
    $this->invalidValue = $invalidValue;
    $this->code = $code;
  }

  /**
   * Converts the violation into a string for debugging purposes.
   *
   * @return string The violation as string.
   */
  public function __toString() {
    $class = (string) (is_object($this->root) ? get_class($this->root) : $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->messageParameters;
  }

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

  /**
   * {@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;
  }

  /**
   * {@inheritDoc}
   */
  public function getCode() {
    return $this->code;
  }

}

Classes

Namesort descending Description
ConstraintViolation Default implementation of {@ConstraintViolationInterface}.