Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/Cache/CacheableDependencyTrait.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Core/Cache/CacheableDependencyTrait.php Mon Apr 23 09:46:53 2018 +0100 @@ -0,0 +1,67 @@ +<?php + +namespace Drupal\Core\Cache; + +/** + * Trait for \Drupal\Core\Cache\CacheableDependencyInterface. + */ +trait CacheableDependencyTrait { + + /** + * Cache contexts. + * + * @var string[] + */ + protected $cacheContexts = []; + + /** + * Cache tags. + * + * @var string[] + */ + protected $cacheTags = []; + + /** + * Cache max-age. + * + * @var int + */ + protected $cacheMaxAge = Cache::PERMANENT; + + /** + * Sets cacheability; useful for value object constructors. + * + * @param \Drupal\Core\Cache\CacheableDependencyInterface $cacheability + * The cacheability to set. + * + * @return $this + */ + protected function setCacheability(CacheableDependencyInterface $cacheability) { + $this->cacheContexts = $cacheability->getCacheContexts(); + $this->cacheTags = $cacheability->getCacheTags(); + $this->cacheMaxAge = $cacheability->getCacheMaxAge(); + return $this; + } + + /** + * {@inheritdoc} + */ + public function getCacheTags() { + return $this->cacheTags; + } + + /** + * {@inheritdoc} + */ + public function getCacheContexts() { + return $this->cacheContexts; + } + + /** + * {@inheritdoc} + */ + public function getCacheMaxAge() { + return $this->cacheMaxAge; + } + +}