Example #1
0
 /**
  * @param Generic\OneOfConstraint $constraint
  *
  * @return Result\ValidationResult
  */
 public function visitOneOfConstraint(Generic\OneOfConstraint $constraint)
 {
     if (1 === count($constraint->schemas())) {
         $schemas = $constraint->schemas();
         return $schemas[0]->accept($this);
     }
     $validResults = array();
     foreach ($constraint->schemas() as $schema) {
         $result = $schema->accept($this);
         if ($result->isValid()) {
             $validResults[] = $result;
         }
     }
     if (1 === count($validResults)) {
         return array_shift($validResults);
     }
     return $this->createSingleIssueResult($constraint);
 }
 /**
  * @param Generic\OneOfConstraint $constraint
  *
  * @return Generic\OneOfConstraint
  */
 public function visitOneOfConstraint(Generic\OneOfConstraint $constraint)
 {
     return new Generic\OneOfConstraint($this->transformConstraintArray($constraint->schemas()));
 }