You are here

public function InvalidationBase::validateExpression in Purge 8.3

Validate the expression given to the invalidation during instantiation.

Throws

\Drupal\purge\Plugin\Purge\Invalidation\Exception\MissingExpressionException Thrown when plugin defined expression_required = TRUE and when it is instantiated without expression (NULL).

\Drupal\purge\Plugin\Purge\Invalidation\Exception\InvalidExpressionException Exception thrown when plugin got instantiated with an expression that is not deemed valid for the type of invalidation.

Overrides InvalidationInterface::validateExpression

See also

\Drupal\purge\Annotation\PurgeInvalidation::$expression_required

\Drupal\purge\Annotation\PurgeInvalidation::$expression_can_be_empty

4 calls to InvalidationBase::validateExpression()
InvalidationBase::__construct in src/Plugin/Purge/Invalidation/InvalidationBase.php
Constructs \Drupal\purge\Plugin\Purge\Invalidation\InvalidationBase.
PathInvalidation::validateExpression in src/Plugin/Purge/Invalidation/PathInvalidation.php
Validate the expression given to the invalidation during instantiation.
TagInvalidation::validateExpression in src/Plugin/Purge/Invalidation/TagInvalidation.php
Validate the expression given to the invalidation during instantiation.
UrlInvalidation::validateExpression in src/Plugin/Purge/Invalidation/UrlInvalidation.php
Validate the expression given to the invalidation during instantiation.
3 methods override InvalidationBase::validateExpression()
PathInvalidation::validateExpression in src/Plugin/Purge/Invalidation/PathInvalidation.php
Validate the expression given to the invalidation during instantiation.
TagInvalidation::validateExpression in src/Plugin/Purge/Invalidation/TagInvalidation.php
Validate the expression given to the invalidation during instantiation.
UrlInvalidation::validateExpression in src/Plugin/Purge/Invalidation/UrlInvalidation.php
Validate the expression given to the invalidation during instantiation.

File

src/Plugin/Purge/Invalidation/InvalidationBase.php, line 154

Class

InvalidationBase
Provides base implementations for the invalidation object.

Namespace

Drupal\purge\Plugin\Purge\Invalidation

Code

public function validateExpression() {
  $d = $this
    ->getPluginDefinition();
  $type = strtolower($d['label']);
  if ($d['expression_required'] && is_null($this->expression)) {
    throw new MissingExpressionException(sprintf("Argument required for %s invalidation.", $type));
  }
  elseif ($d['expression_required'] && empty($this->expression) && !$d['expression_can_be_empty']) {
    throw new InvalidExpressionException(sprintf("Argument required for %s invalidation.", $type));
  }
  elseif (!$d['expression_required'] && !is_null($this->expression)) {
    throw new InvalidExpressionException(sprintf("Argument given for %s invalidation.", $type));
  }
  elseif (!is_null($this->expression) && !is_string($this->expression) && $d['expression_must_be_string']) {
    throw new InvalidExpressionException(sprintf("String argument required for %s invalidation.", $type));
  }
}