You are here

public function ActiveSiteAlertsCacheContext::getCacheableMetadata in Site Alert 8

Gets the cacheability metadata for the context.

There are three valid cases for the returned CacheableMetadata object:

  • An empty object means this can be optimized away safely.
  • A max-age of 0 means that this context can never be optimized away. It will never bubble up and cache tags will not be used.
  • Any non-zero max-age and cache tags will bubble up into the cache item if this is optimized away to allow for invalidation if the context value changes.

Return value

\Drupal\Core\Cache\CacheableMetadata A cacheable metadata object.

Overrides CacheContextInterface::getCacheableMetadata

File

src/Cache/Context/ActiveSiteAlertsCacheContext.php, line 104

Class

ActiveSiteAlertsCacheContext
A cache context that varies by the currently active site alerts.

Namespace

Drupal\site_alert\Cache\Context

Code

public function getCacheableMetadata() {

  // Return a cache max age that matches the time period until the next alert
  // appears. This allows caching implementations that do not leverage cache
  // contexts to correctly invalidate their caches.

  /** @var \Drupal\site_alert\SiteAlertStorageInterface $storage */
  $storage = $this->entityTypeManager
    ->getStorage('site_alert');
  return (new CacheableMetadata())
    ->setCacheMaxAge($storage
    ->getCacheMaxAge());
}