ComputedTestCacheableStringItemList.php

Same filename in other branches
  1. 9 core/modules/system/tests/modules/entity_test/src/Plugin/Field/ComputedTestCacheableStringItemList.php
  2. 11.x core/modules/system/tests/modules/entity_test/src/Plugin/Field/ComputedTestCacheableStringItemList.php

Namespace

Drupal\entity_test\Plugin\Field

File

core/modules/system/tests/modules/entity_test/src/Plugin/Field/ComputedTestCacheableStringItemList.php

View source
<?php

namespace Drupal\entity_test\Plugin\Field;

use Drupal\Core\Cache\CacheableMetadata;
use Drupal\Core\Field\FieldItemList;
use Drupal\Core\TypedData\ComputedItemListTrait;

/**
 * Item list class for computed cacheable string field.
 *
 *  This class sets the cacheable metadata on the field item properties.
 *
 * @see \Drupal\entity_test\Plugin\Field\ComputedTestCacheableIntegerItemList
 */
class ComputedTestCacheableStringItemList extends FieldItemList {
    use ComputedItemListTrait;
    
    /**
     * {@inheritdoc}
     */
    protected function computeValue() {
        
        /** @var \Drupal\entity_test\Plugin\Field\FieldType\ComputedTestCacheableStringItem $item */
        $item = $this->createItem(0, 'computed test cacheable string field');
        $cacheability = (new CacheableMetadata())->setCacheContexts([
            'url.query_args:computed_test_cacheable_string_field',
        ])
            ->setCacheTags([
            'field:computed_test_cacheable_string_field',
        ])
            ->setCacheMaxAge(800);
        $item->get('value')
            ->addCacheableDependency($cacheability);
        $this->list[0] = $item;
    }

}

Classes

Title Deprecated Summary
ComputedTestCacheableStringItemList Item list class for computed cacheable string field.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.