class CacheableOmission
Same name in other branches
- 9 core/modules/jsonapi/src/Normalizer/Value/CacheableOmission.php \Drupal\jsonapi\Normalizer\Value\CacheableOmission
- 10 core/modules/jsonapi/src/Normalizer/Value/CacheableOmission.php \Drupal\jsonapi\Normalizer\Value\CacheableOmission
- 11.x core/modules/jsonapi/src/Normalizer/Value/CacheableOmission.php \Drupal\jsonapi\Normalizer\Value\CacheableOmission
Represents the cacheability associated with the omission of a value.
@internal JSON:API maintains no PHP API since its API is the HTTP API. This class may change at any time and this will break any dependencies on it.
Hierarchy
- class \Drupal\jsonapi\Normalizer\Value\CacheableNormalization implements \Drupal\Core\Cache\CacheableDependencyInterface uses \Drupal\Core\Cache\CacheableDependencyTrait
- class \Drupal\jsonapi\Normalizer\Value\CacheableOmission extends \Drupal\jsonapi\Normalizer\Value\CacheableNormalization
Expanded class hierarchy of CacheableOmission
See also
https://www.drupal.org/project/drupal/issues/3032787
2 files declare their use of CacheableOmission
- JsonApiDocumentTopLevelNormalizer.php in core/
modules/ jsonapi/ src/ Normalizer/ JsonApiDocumentTopLevelNormalizer.php - ResourceObjectNormalizer.php in core/
modules/ jsonapi/ src/ Normalizer/ ResourceObjectNormalizer.php
File
-
core/
modules/ jsonapi/ src/ Normalizer/ Value/ CacheableOmission.php, line 16
Namespace
Drupal\jsonapi\Normalizer\ValueView source
final class CacheableOmission extends CacheableNormalization {
/**
* CacheableOmission constructor.
*
* @param \Drupal\Core\Cache\CacheableDependencyInterface $cacheability
* Cacheability related to the omission of the normalization. For example,
* if a field is omitted because of an access result that varies by the
* `user.permissions` cache context, we need to associate that information
* with the response so that it will appear for a user *with* the
* appropriate permissions for that field.
*/
public function __construct(CacheableDependencyInterface $cacheability) {
parent::__construct($cacheability, NULL);
}
/**
* {@inheritdoc}
*/
public static function permanent($no_op = NULL) {
return parent::permanent(NULL);
}
/**
* A CacheableOmission should never have its normalization retrieved.
*/
public function getNormalization() {
throw new \LogicException('A CacheableOmission should never have its normalization retrieved.');
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
CacheableDependencyTrait::$cacheContexts | protected | property | Cache contexts. | ||
CacheableDependencyTrait::$cacheMaxAge | protected | property | Cache max-age. | ||
CacheableDependencyTrait::$cacheTags | protected | property | Cache tags. | ||
CacheableDependencyTrait::getCacheContexts | public | function | 4 | ||
CacheableDependencyTrait::getCacheMaxAge | public | function | 4 | ||
CacheableDependencyTrait::getCacheTags | public | function | 4 | ||
CacheableDependencyTrait::setCacheability | protected | function | Sets cacheability; useful for value object constructors. | ||
CacheableNormalization::$normalization | protected | property | A normalized value. | ||
CacheableNormalization::aggregate | public static | function | Collects an array of CacheableNormalizations into a single instance. | ||
CacheableNormalization::hasNoNestedInstances | protected static | function | Ensures that no nested values are instances of this class. | ||
CacheableNormalization::omitIfEmpty | public | function | Converts the object to a CacheableOmission if the normalization is empty. | ||
CacheableNormalization::withCacheableDependency | public | function | Gets a new CacheableNormalization with an additional dependency. | ||
CacheableOmission::getNormalization | public | function | A CacheableOmission should never have its normalization retrieved. | Overrides CacheableNormalization::getNormalization | |
CacheableOmission::permanent | public static | function | Creates a CacheableNormalization instance without any special cacheability. | Overrides CacheableNormalization::permanent | |
CacheableOmission::__construct | public | function | CacheableOmission constructor. | Overrides CacheableNormalization::__construct |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.