abstract class ElementMetadata

Hierarchy

Expanded class hierarchy of ElementMetadata

1 file declares its use of ElementMetadata
ElementMetadataTest.php in drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/ElementMetadataTest.php

File

drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ElementMetadata.php, line 16

Namespace

Symfony\Component\Validator\Mapping
View source
abstract class ElementMetadata {

  /**
   * @var Constraint[]
   */
  public $constraints = array();

  /**
   * @var array
   */
  public $constraintsByGroup = array();

  /**
   * Returns the names of the properties that should be serialized.
   *
   * @return array
   */
  public function __sleep() {
    return array(
      'constraints',
      'constraintsByGroup',
    );
  }

  /**
   * Clones this object.
   */
  public function __clone() {
    $constraints = $this->constraints;
    $this->constraints = array();
    $this->constraintsByGroup = array();
    foreach ($constraints as $constraint) {
      $this
        ->addConstraint(clone $constraint);
    }
  }

  /**
   * Adds a constraint to this element.
   *
   * @param Constraint $constraint
   *
   * @return ElementMetadata
   */
  public function addConstraint(Constraint $constraint) {
    $this->constraints[] = $constraint;
    foreach ($constraint->groups as $group) {
      $this->constraintsByGroup[$group][] = $constraint;
    }
    return $this;
  }

  /**
   * Returns all constraints of this element.
   *
   * @return Constraint[] An array of Constraint instances
   */
  public function getConstraints() {
    return $this->constraints;
  }

  /**
   * Returns whether this element has any constraints.
   *
   * @return Boolean
   */
  public function hasConstraints() {
    return count($this->constraints) > 0;
  }

  /**
   * Returns the constraints of the given group and global ones (* group).
   *
   * @param string $group The group name
   *
   * @return array An array with all Constraint instances belonging to the group
   */
  public function findConstraints($group) {
    return isset($this->constraintsByGroup[$group]) ? $this->constraintsByGroup[$group] : array();
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ElementMetadata::$constraints public property
ElementMetadata::$constraintsByGroup public property
ElementMetadata::addConstraint public function Adds a constraint to this element. 2
ElementMetadata::findConstraints public function Returns the constraints of the given group and global ones (* group).
ElementMetadata::getConstraints public function Returns all constraints of this element.
ElementMetadata::hasConstraints public function Returns whether this element has any constraints.
ElementMetadata::__clone public function Clones this object.
ElementMetadata::__sleep public function Returns the names of the properties that should be serialized. 2