class ConstraintViolationList

Default implementation of {@ConstraintViolationListInterface}.

@author Bernhard Schussek <bschussek@gmail.com>

Hierarchy

Expanded class hierarchy of ConstraintViolationList

5 files declare their use of ConstraintViolationList
ConstraintViolationListTest.php in drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintViolationListTest.php
ContextAwarePluginBase.php in drupal/core/lib/Drupal/Component/Plugin/ContextAwarePluginBase.php
Contains \Drupal\Component\Plugin\ContextAwarePluginBase
ExecutionContextTest.php in drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ExecutionContextTest.php
ValidationVisitorTest.php in drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ValidationVisitorTest.php
ValidatorTest.php in drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ValidatorTest.php

File

drupal/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationList.php, line 19

Namespace

Symfony\Component\Validator
View source
class ConstraintViolationList implements \IteratorAggregate, ConstraintViolationListInterface {

  /**
   * @var ConstraintViolationInterface[]
   */
  private $violations = array();

  /**
   * Creates a new constraint violation list.
   *
   * @param ConstraintViolationInterface[] $violations The constraint violations to add to the list
   */
  public function __construct(array $violations = array()) {
    foreach ($violations as $violation) {
      $this
        ->add($violation);
    }
  }

  /**
   * Converts the violation into a string for debugging purposes.
   *
   * @return string The violation as string.
   */
  public function __toString() {
    $string = '';
    foreach ($this->violations as $violation) {
      $string .= $violation . "\n";
    }
    return $string;
  }

  /**
   * {@inheritDoc}
   */
  public function add(ConstraintViolationInterface $violation) {
    $this->violations[] = $violation;
  }

  /**
   * {@inheritDoc}
   */
  public function addAll(ConstraintViolationListInterface $otherList) {
    foreach ($otherList as $violation) {
      $this->violations[] = $violation;
    }
  }

  /**
   * {@inheritDoc}
   */
  public function get($offset) {
    if (!isset($this->violations[$offset])) {
      throw new \OutOfBoundsException(sprintf('The offset "%s" does not exist.', $offset));
    }
    return $this->violations[$offset];
  }

  /**
   * {@inheritDoc}
   */
  public function has($offset) {
    return isset($this->violations[$offset]);
  }

  /**
   * {@inheritDoc}
   */
  public function set($offset, ConstraintViolationInterface $violation) {
    $this->violations[$offset] = $violation;
  }

  /**
   * {@inheritDoc}
   */
  public function remove($offset) {
    unset($this->violations[$offset]);
  }

  /**
   * {@inheritDoc}
   */
  public function getIterator() {
    return new \ArrayIterator($this->violations);
  }

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

  /**
   * {@inheritDoc}
   */
  public function offsetExists($offset) {
    return $this
      ->has($offset);
  }

  /**
   * {@inheritDoc}
   */
  public function offsetGet($offset) {
    return $this
      ->get($offset);
  }

  /**
   * {@inheritDoc}
   */
  public function offsetSet($offset, $violation) {
    if (null === $offset) {
      $this
        ->add($violation);
    }
    else {
      $this
        ->set($offset, $violation);
    }
  }

  /**
   * {@inheritDoc}
   */
  public function offsetUnset($offset) {
    $this
      ->remove($offset);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ConstraintViolationList::$violations private property
ConstraintViolationList::add public function Adds a constraint violation to this list. Overrides ConstraintViolationListInterface::add
ConstraintViolationList::addAll public function Merges an existing violation list into this list. Overrides ConstraintViolationListInterface::addAll
ConstraintViolationList::count public function
ConstraintViolationList::get public function Returns the violation at a given offset. Overrides ConstraintViolationListInterface::get
ConstraintViolationList::getIterator public function
ConstraintViolationList::has public function Returns whether the given offset exists. Overrides ConstraintViolationListInterface::has
ConstraintViolationList::offsetExists public function
ConstraintViolationList::offsetGet public function
ConstraintViolationList::offsetSet public function
ConstraintViolationList::offsetUnset public function
ConstraintViolationList::remove public function Removes a violation at a given offset. Overrides ConstraintViolationListInterface::remove
ConstraintViolationList::set public function Sets a violation at a given offset. Overrides ConstraintViolationListInterface::set
ConstraintViolationList::__construct public function Creates a new constraint violation list.
ConstraintViolationList::__toString public function Converts the violation into a string for debugging purposes.