3 namespace Drupal\Core\Field\Plugin\Field\FieldType;
5 use Drupal\Core\Field\FieldItemBase;
6 use Drupal\Core\Field\FieldStorageDefinitionInterface;
7 use Drupal\Core\StringTranslation\TranslatableMarkup;
8 use Drupal\Core\TypedData\DataDefinition;
11 * Base class for string field types.
13 abstract class StringItemBase extends FieldItemBase {
18 public static function defaultStorageSettings() {
20 'case_sensitive' => FALSE,
21 ] + parent::defaultStorageSettings();
27 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) {
28 // This is called very early by the user entity roles field. Prevent
29 // early t() calls by using the TranslatableMarkup.
30 $properties['value'] = DataDefinition::create('string')
31 ->setLabel(new TranslatableMarkup('Text value'))
32 ->setSetting('case_sensitive', $field_definition->getSetting('case_sensitive'))
41 public function isEmpty() {
42 $value = $this->get('value')->getValue();
43 return $value === NULL || $value === '';