You are here

public function ClassMetadata::setGroupSequence in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/validator/Mapping/ClassMetadata.php \Symfony\Component\Validator\Mapping\ClassMetadata::setGroupSequence()

Sets the default group sequence for this class.

Parameters

array $groupSequence An array of group names:

Return value

ClassMetadata

Throws

GroupDefinitionException

File

vendor/symfony/validator/Mapping/ClassMetadata.php, line 454

Class

ClassMetadata
Default implementation of {@link ClassMetadataInterface}.

Namespace

Symfony\Component\Validator\Mapping

Code

public function setGroupSequence($groupSequence) {
  if ($this
    ->isGroupSequenceProvider()) {
    throw new GroupDefinitionException('Defining a static group sequence is not allowed with a group sequence provider');
  }
  if (is_array($groupSequence)) {
    $groupSequence = new GroupSequence($groupSequence);
  }
  if (in_array(Constraint::DEFAULT_GROUP, $groupSequence->groups, true)) {
    throw new GroupDefinitionException(sprintf('The group "%s" is not allowed in group sequences', Constraint::DEFAULT_GROUP));
  }
  if (!in_array($this
    ->getDefaultGroup(), $groupSequence->groups, true)) {
    throw new GroupDefinitionException(sprintf('The group "%s" is missing in the group sequence', $this
      ->getDefaultGroup()));
  }
  $this->groupSequence = $groupSequence;
  return $this;
}