Chris@0: addCacheContexts($other_object->getCacheContexts()); Chris@0: $this->addCacheTags($other_object->getCacheTags()); Chris@0: $this->mergeCacheMaxAge($other_object->getCacheMaxAge()); Chris@0: } Chris@0: else { Chris@0: // Not a cacheable dependency, this can not be cached. Chris@0: $this->cacheMaxAge = 0; Chris@0: } Chris@0: return $this; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function addCacheContexts(array $cache_contexts) { Chris@0: if ($cache_contexts) { Chris@0: $this->cacheContexts = Cache::mergeContexts($this->cacheContexts, $cache_contexts); Chris@0: } Chris@0: return $this; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function addCacheTags(array $cache_tags) { Chris@0: if ($cache_tags) { Chris@0: $this->cacheTags = Cache::mergeTags($this->cacheTags, $cache_tags); Chris@0: } Chris@0: return $this; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function mergeCacheMaxAge($max_age) { Chris@0: $this->cacheMaxAge = Cache::mergeMaxAges($this->cacheMaxAge, $max_age); Chris@0: return $this; Chris@0: } Chris@0: Chris@0: }