class ExecutionContext in Plug 7
Same name in this branch
- 7 lib/Symfony/validator/Symfony/Component/Validator/ExecutionContext.php \Symfony\Component\Validator\ExecutionContext
- 7 lib/Symfony/validator/Symfony/Component/Validator/Context/ExecutionContext.php \Symfony\Component\Validator\Context\ExecutionContext
The context used and created by {@link ExecutionContextFactory}.
@since 2.5 @author Bernhard Schussek <bschussek@gmail.com>
@internal You should not instantiate or use this class. Code against {@link ExecutionContextInterface} instead.
Hierarchy
- class \Symfony\Component\Validator\Context\ExecutionContext implements ExecutionContextInterface
Expanded class hierarchy of ExecutionContext
See also
1 file declares its use of ExecutionContext
- AbstractConstraintValidatorTest.php in lib/
Symfony/ validator/ Symfony/ Component/ Validator/ Tests/ Constraints/ AbstractConstraintValidatorTest.php
File
- lib/
Symfony/ validator/ Symfony/ Component/ Validator/ Context/ ExecutionContext.php, line 37
Namespace
Symfony\Component\Validator\ContextView source
class ExecutionContext implements ExecutionContextInterface {
/**
* @var ValidatorInterface
*/
private $validator;
/**
* The root value of the validated object graph.
*
* @var mixed
*/
private $root;
/**
* @var TranslatorInterface
*/
private $translator;
/**
* @var string
*/
private $translationDomain;
/**
* The violations generated in the current context.
*
* @var ConstraintViolationList
*/
private $violations;
/**
* The currently validated value.
*
* @var mixed
*/
private $value;
/**
* The currently validated object.
*
* @var object|null
*/
private $object;
/**
* The property path leading to the current value.
*
* @var string
*/
private $propertyPath = '';
/**
* The current validation metadata.
*
* @var MetadataInterface|null
*/
private $metadata;
/**
* The currently validated group.
*
* @var string|null
*/
private $group;
/**
* The currently validated constraint.
*
* @var Constraint|null
*/
private $constraint;
/**
* Stores which objects have been validated in which group.
*
* @var array
*/
private $validatedObjects = array();
/**
* Stores which class constraint has been validated for which object.
*
* @var array
*/
private $validatedConstraints = array();
/**
* Stores which objects have been initialized.
*
* @var array
*/
private $initializedObjects;
/**
* Creates a new execution context.
*
* @param ValidatorInterface $validator The validator
* @param mixed $root The root value of the
* validated object graph
* @param TranslatorInterface $translator The translator
* @param string|null $translationDomain The translation domain to
* use for translating
* violation messages
*
* @internal Called by {@link ExecutionContextFactory}. Should not be used
* in user code.
*/
public function __construct(ValidatorInterface $validator, $root, TranslatorInterface $translator, $translationDomain = null) {
$this->validator = $validator;
$this->root = $root;
$this->translator = $translator;
$this->translationDomain = $translationDomain;
$this->violations = new ConstraintViolationList();
}
/**
* {@inheritdoc}
*/
public function setNode($value, $object, MetadataInterface $metadata = null, $propertyPath) {
$this->value = $value;
$this->object = $object;
$this->metadata = $metadata;
$this->propertyPath = (string) $propertyPath;
}
/**
* {@inheritdoc}
*/
public function setGroup($group) {
$this->group = $group;
}
/**
* {@inheritdoc}
*/
public function setConstraint(Constraint $constraint) {
$this->constraint = $constraint;
}
/**
* {@inheritdoc}
*/
public function addViolation($message, array $parameters = array(), $invalidValue = null, $plural = null, $code = null) {
// The parameters $invalidValue and following are ignored by the new
// API, as they are not present in the new interface anymore.
// You should use buildViolation() instead.
if (func_num_args() > 2) {
throw new BadMethodCallException('The parameters $invalidValue, $pluralization and $code are ' . 'not supported anymore as of Symfony 2.5. Please use ' . 'buildViolation() instead or enable the legacy mode.');
}
$this->violations
->add(new ConstraintViolation($this->translator
->trans($message, $parameters, $this->translationDomain), $message, $parameters, $this->root, $this->propertyPath, $this->value, null, null, $this->constraint));
}
/**
* {@inheritdoc}
*/
public function buildViolation($message, array $parameters = array()) {
return new ConstraintViolationBuilder($this->violations, $this->constraint, $message, $parameters, $this->root, $this->propertyPath, $this->value, $this->translator, $this->translationDomain);
}
/**
* {@inheritdoc}
*/
public function getViolations() {
return $this->violations;
}
/**
* {@inheritdoc}
*/
public function getValidator() {
return $this->validator;
}
/**
* {@inheritdoc}
*/
public function getRoot() {
return $this->root;
}
/**
* {@inheritdoc}
*/
public function getValue() {
return $this->value;
}
/**
* {@inheritdoc}
*/
public function getObject() {
return $this->object;
}
/**
* {@inheritdoc}
*/
public function getMetadata() {
return $this->metadata;
}
/**
* {@inheritdoc}
*/
public function getGroup() {
return $this->group;
}
/**
* {@inheritdoc}
*/
public function getClassName() {
return $this->metadata instanceof ClassBasedInterface ? $this->metadata
->getClassName() : null;
}
/**
* {@inheritdoc}
*/
public function getPropertyName() {
return $this->metadata instanceof PropertyMetadataInterface ? $this->metadata
->getPropertyName() : null;
}
/**
* {@inheritdoc}
*/
public function getPropertyPath($subPath = '') {
return PropertyPath::append($this->propertyPath, $subPath);
}
/**
* {@inheritdoc}
*/
public function addViolationAt($subPath, $message, array $parameters = array(), $invalidValue = null, $plural = null, $code = null) {
throw new BadMethodCallException('addViolationAt() is not supported anymore as of Symfony 2.5. ' . 'Please use buildViolation() instead or enable the legacy mode.');
}
/**
* {@inheritdoc}
*/
public function validate($value, $subPath = '', $groups = null, $traverse = false, $deep = false) {
throw new BadMethodCallException('validate() is not supported anymore as of Symfony 2.5. ' . 'Please use getValidator() instead or enable the legacy mode.');
}
/**
* {@inheritdoc}
*/
public function validateValue($value, $constraints, $subPath = '', $groups = null) {
throw new BadMethodCallException('validateValue() is not supported anymore as of Symfony 2.5. ' . 'Please use getValidator() instead or enable the legacy mode.');
}
/**
* {@inheritdoc}
*/
public function getMetadataFactory() {
throw new BadMethodCallException('getMetadataFactory() is not supported anymore as of Symfony 2.5. ' . 'Please use getValidator() in combination with getMetadataFor() ' . 'or hasMetadataFor() instead or enable the legacy mode.');
}
/**
* {@inheritdoc}
*/
public function markGroupAsValidated($cacheKey, $groupHash) {
if (!isset($this->validatedObjects[$cacheKey])) {
$this->validatedObjects[$cacheKey] = array();
}
$this->validatedObjects[$cacheKey][$groupHash] = true;
}
/**
* {@inheritdoc}
*/
public function isGroupValidated($cacheKey, $groupHash) {
return isset($this->validatedObjects[$cacheKey][$groupHash]);
}
/**
* {@inheritdoc}
*/
public function markConstraintAsValidated($cacheKey, $constraintHash) {
$this->validatedConstraints[$cacheKey . ':' . $constraintHash] = true;
}
/**
* {@inheritdoc}
*/
public function isConstraintValidated($cacheKey, $constraintHash) {
return isset($this->validatedConstraints[$cacheKey . ':' . $constraintHash]);
}
/**
* {@inheritdoc}
*/
public function markObjectAsInitialized($cacheKey) {
$this->initializedObjects[$cacheKey] = true;
}
/**
* {@inheritdoc}
*/
public function isObjectInitialized($cacheKey) {
return isset($this->initializedObjects[$cacheKey]);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ExecutionContext:: |
private | property | The currently validated constraint. | |
ExecutionContext:: |
private | property | The currently validated group. | |
ExecutionContext:: |
private | property | Stores which objects have been initialized. | |
ExecutionContext:: |
private | property | The current validation metadata. | |
ExecutionContext:: |
private | property | The currently validated object. | |
ExecutionContext:: |
private | property | The property path leading to the current value. | |
ExecutionContext:: |
private | property | The root value of the validated object graph. | |
ExecutionContext:: |
private | property | ||
ExecutionContext:: |
private | property | ||
ExecutionContext:: |
private | property | Stores which class constraint has been validated for which object. | |
ExecutionContext:: |
private | property | Stores which objects have been validated in which group. | |
ExecutionContext:: |
private | property | ||
ExecutionContext:: |
private | property | The currently validated value. | |
ExecutionContext:: |
private | property | The violations generated in the current context. | |
ExecutionContext:: |
public | function |
Adds a violation at the current node of the validation graph. Overrides ExecutionContextInterface:: |
1 |
ExecutionContext:: |
public | function |
Adds a violation at the validation graph node with the given property
path relative to the current property path. Overrides ExecutionContextInterface:: |
1 |
ExecutionContext:: |
public | function |
Returns a builder for adding a violation with extended information. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Returns the class name of the current node. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Returns the validation group that is currently being validated. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Returns the metadata for the currently validated value. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Returns the used metadata factory. Overrides ExecutionContextInterface:: |
1 |
ExecutionContext:: |
public | function |
Returns the currently validated object. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Returns the property name of the current node. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Returns the property path to the value that the validator is currently
validating. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Returns the value at which validation was started in the object graph. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Returns the validator. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Returns the value that the validator is currently validating. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Returns the violations generated by the validator so far. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Returns whether a constraint was validated for an object. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Returns whether an object was validated in a specific validation group. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Returns whether an object was initialized. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Marks a constraint as validated for an object. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Marks an object as validated in a specific validation group. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Marks that an object was initialized. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Sets the currently validated constraint. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Sets the currently validated group. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Sets the currently validated value. Overrides ExecutionContextInterface:: |
|
ExecutionContext:: |
public | function |
Validates the given value within the scope of the current validation. Overrides ExecutionContextInterface:: |
1 |
ExecutionContext:: |
public | function |
Validates a value against a constraint. Overrides ExecutionContextInterface:: |
1 |
ExecutionContext:: |
public | function | Creates a new execution context. | 1 |