class UuidItem
Same name and namespace in other branches
- 11.x core/lib/Drupal/Core/Field/Plugin/Field/FieldType/UuidItem.php \Drupal\Core\Field\Plugin\Field\FieldType\UuidItem
- 10 core/lib/Drupal/Core/Field/Plugin/Field/FieldType/UuidItem.php \Drupal\Core\Field\Plugin\Field\FieldType\UuidItem
- 8.9.x core/lib/Drupal/Core/Field/Plugin/Field/FieldType/UuidItem.php \Drupal\Core\Field\Plugin\Field\FieldType\UuidItem
- main core/lib/Drupal/Core/Field/Plugin/Field/FieldType/UuidItem.php \Drupal\Core\Field\Plugin\Field\FieldType\UuidItem
Defines the 'uuid' entity field type.
The field uses a newly generated UUID as default value.
Plugin annotation
@FieldType(
id = "uuid",
label = @Translation("UUID"),
description = @Translation("An entity field containing a UUID."),
no_ui = TRUE,
default_formatter = "string"
)
Hierarchy
- class \Drupal\Core\TypedData\TypedData implements \Drupal\Core\TypedData\TypedDataInterface, \Drupal\Component\Plugin\PluginInspectionInterface uses \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\TypedData\TypedDataTrait
- class \Drupal\Core\TypedData\Plugin\DataType\Map implements \Drupal\Core\TypedData\Plugin\DataType\IteratorAggregate, \Drupal\Core\TypedData\ComplexDataInterface extends \Drupal\Core\TypedData\TypedData
- class \Drupal\Core\Field\FieldItemBase implements \Drupal\Core\Field\FieldItemInterface extends \Drupal\Core\TypedData\Plugin\DataType\Map
- class \Drupal\Core\Field\Plugin\Field\FieldType\StringItemBase extends \Drupal\Core\Field\FieldItemBase
- class \Drupal\Core\Field\Plugin\Field\FieldType\StringItem extends \Drupal\Core\Field\Plugin\Field\FieldType\StringItemBase
- class \Drupal\Core\Field\Plugin\Field\FieldType\UuidItem extends \Drupal\Core\Field\Plugin\Field\FieldType\StringItem
- class \Drupal\Core\Field\Plugin\Field\FieldType\StringItem extends \Drupal\Core\Field\Plugin\Field\FieldType\StringItemBase
- class \Drupal\Core\Field\Plugin\Field\FieldType\StringItemBase extends \Drupal\Core\Field\FieldItemBase
- class \Drupal\Core\Field\FieldItemBase implements \Drupal\Core\Field\FieldItemInterface extends \Drupal\Core\TypedData\Plugin\DataType\Map
- class \Drupal\Core\TypedData\Plugin\DataType\Map implements \Drupal\Core\TypedData\Plugin\DataType\IteratorAggregate, \Drupal\Core\TypedData\ComplexDataInterface extends \Drupal\Core\TypedData\TypedData
Expanded class hierarchy of UuidItem
File
-
core/
lib/ Drupal/ Core/ Field/ Plugin/ Field/ FieldType/ UuidItem.php, line 21
Namespace
Drupal\Core\Field\Plugin\Field\FieldTypeView source
class UuidItem extends StringItem {
/**
* {@inheritdoc}
*/
public static function defaultStorageSettings() {
return [
'max_length' => 128,
'is_ascii' => TRUE,
] + parent::defaultStorageSettings();
}
/**
* {@inheritdoc}
*/
public function applyDefaultValue($notify = TRUE) {
// Default to one field item with a generated UUID.
$uuid = \Drupal::service('uuid');
$this->setValue([
'value' => $uuid->generate(),
], $notify);
return $this;
}
/**
* {@inheritdoc}
*/
public static function schema(FieldStorageDefinitionInterface $field_definition) {
$schema = parent::schema($field_definition);
$schema['unique keys']['value'] = [
'value',
];
return $schema;
}
/**
* {@inheritdoc}
*/
public static function generateSampleValue(FieldDefinitionInterface $field_definition) {
$values['value'] = \Drupal::service('uuid')->generate();
return $values;
}
}
Members
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.