class FieldItemDataDefinition
Same name in other branches
- 8.9.x core/lib/Drupal/Core/Field/TypedData/FieldItemDataDefinition.php \Drupal\Core\Field\TypedData\FieldItemDataDefinition
- 10 core/lib/Drupal/Core/Field/TypedData/FieldItemDataDefinition.php \Drupal\Core\Field\TypedData\FieldItemDataDefinition
- 11.x core/lib/Drupal/Core/Field/TypedData/FieldItemDataDefinition.php \Drupal\Core\Field\TypedData\FieldItemDataDefinition
A typed data definition class for defining field items.
This class is just a small wrapper around field definitions to expose metadata about field item's via the Typed Data API. As the work is done by the field definitions, this class does not benefit and thus does not extend from MapDefinition or ComplexDataDefinitionBase.
Hierarchy
- class \Drupal\Core\TypedData\DataDefinition implements \Drupal\Core\TypedData\DataDefinitionInterface, \Drupal\Core\TypedData\ArrayAccess uses \Drupal\Core\TypedData\TypedDataTrait
- class \Drupal\Core\Field\TypedData\FieldItemDataDefinition extends \Drupal\Core\TypedData\DataDefinition implements \Drupal\Core\Field\TypedData\FieldItemDataDefinitionInterface
Expanded class hierarchy of FieldItemDataDefinition
6 files declare their use of FieldItemDataDefinition
- BaseFieldDefinition.php in core/
lib/ Drupal/ Core/ Field/ BaseFieldDefinition.php - EntityReferenceFieldItemNormalizerTest.php in core/
modules/ serialization/ tests/ src/ Unit/ Normalizer/ EntityReferenceFieldItemNormalizerTest.php - FieldConfigBase.php in core/
lib/ Drupal/ Core/ Field/ FieldConfigBase.php - FieldDefinition.php in core/
lib/ Drupal/ Core/ Field/ FieldDefinition.php - FileUploadForm.php in core/
modules/ media_library/ src/ Form/ FileUploadForm.php
File
-
core/
lib/ Drupal/ Core/ Field/ TypedData/ FieldItemDataDefinition.php, line 16
Namespace
Drupal\Core\Field\TypedDataView source
class FieldItemDataDefinition extends DataDefinition implements FieldItemDataDefinitionInterface {
/**
* The field definition the item definition belongs to.
*
* @var \Drupal\Core\Field\FieldDefinitionInterface
*/
protected $fieldDefinition;
/**
* {@inheritdoc}
*/
public static function createFromDataType($data_type) {
// The data type of a field item is in the form of "field_item:$field_type".
$parts = explode(':', $data_type, 2);
if ($parts[0] != 'field_item') {
throw new \InvalidArgumentException('Data type must be in the form of "field_item:FIELD_TYPE".');
}
$field_definition = BaseFieldDefinition::create($parts[1]);
return $field_definition->getItemDefinition();
}
/**
* Creates a new field item definition.
*
* @param \Drupal\Core\Field\FieldDefinitionInterface $field_definition
* The field definition the item definition belongs to.
*
* @return static
*/
public static function create($field_definition) {
$definition['type'] = 'field_item:' . $field_definition->getType();
$item_definition = new static($definition);
$item_definition->fieldDefinition = $field_definition;
return $item_definition;
}
/**
* {@inheritdoc}
*/
public function getPropertyDefinition($name) {
return $this->fieldDefinition
->getFieldStorageDefinition()
->getPropertyDefinition($name);
}
/**
* {@inheritdoc}
*/
public function getPropertyDefinitions() {
return $this->fieldDefinition
->getFieldStorageDefinition()
->getPropertyDefinitions();
}
/**
* {@inheritdoc}
*/
public function getMainPropertyName() {
return $this->fieldDefinition
->getFieldStorageDefinition()
->getMainPropertyName();
}
/**
* {@inheritdoc}
*/
public function getFieldDefinition() {
return $this->fieldDefinition;
}
/**
* {@inheritdoc}
*/
public function setFieldDefinition($field_definition) {
$this->fieldDefinition = $field_definition;
return $this;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
DataDefinition::$definition | protected | property | The array holding values for all definition keys. | ||
DataDefinition::addConstraint | public | function | Adds a validation constraint. | Overrides DataDefinitionInterface::addConstraint | |
DataDefinition::getClass | public | function | Returns the class used for creating the typed data object. | Overrides DataDefinitionInterface::getClass | 1 |
DataDefinition::getConstraint | public | function | Returns a validation constraint. | Overrides DataDefinitionInterface::getConstraint | |
DataDefinition::getConstraints | public | function | Returns an array of validation constraints. | Overrides DataDefinitionInterface::getConstraints | 1 |
DataDefinition::getDataType | public | function | Returns the data type of the data. | Overrides DataDefinitionInterface::getDataType | 2 |
DataDefinition::getDescription | public | function | Returns a human readable description. | Overrides DataDefinitionInterface::getDescription | |
DataDefinition::getLabel | public | function | Returns a human readable label. | Overrides DataDefinitionInterface::getLabel | |
DataDefinition::getSetting | public | function | Returns the value of a given setting. | Overrides DataDefinitionInterface::getSetting | 2 |
DataDefinition::getSettings | public | function | Returns the array of settings, as required by the used class. | Overrides DataDefinitionInterface::getSettings | 2 |
DataDefinition::isComputed | public | function | Determines whether the data value is computed. | Overrides DataDefinitionInterface::isComputed | |
DataDefinition::isInternal | public | function | Determines whether the data value is internal. | Overrides DataDefinitionInterface::isInternal | 1 |
DataDefinition::isList | public | function | Returns whether the data is multi-valued, i.e. a list of data items. | Overrides DataDefinitionInterface::isList | |
DataDefinition::isReadOnly | public | function | Determines whether the data is read-only. | Overrides DataDefinitionInterface::isReadOnly | |
DataDefinition::isRequired | public | function | Determines whether a data value is required. | Overrides DataDefinitionInterface::isRequired | |
DataDefinition::offsetExists | public | function | This is for BC support only. @todo: Remove in https://www.drupal.org/node/1928868. |
||
DataDefinition::offsetGet | public | function | This is for BC support only. @todo: Remove in https://www.drupal.org/node/1928868. |
||
DataDefinition::offsetSet | public | function | This is for BC support only. @todo: Remove in https://www.drupal.org/node/1928868. |
||
DataDefinition::offsetUnset | public | function | This is for BC support only. @todo: Remove in https://www.drupal.org/node/1928868. |
||
DataDefinition::setClass | public | function | Sets the class used for creating the typed data object. | ||
DataDefinition::setComputed | public | function | Sets whether the data is computed. | ||
DataDefinition::setConstraints | public | function | Sets an array of validation constraints. | ||
DataDefinition::setDataType | public | function | Sets the data type. | 1 | |
DataDefinition::setDescription | public | function | Sets the human-readable description. | ||
DataDefinition::setInternal | public | function | Sets the whether the data value should be internal. | ||
DataDefinition::setLabel | public | function | Sets the human-readable label. | ||
DataDefinition::setReadOnly | public | function | Sets whether the data is read-only. | ||
DataDefinition::setRequired | public | function | Sets whether the data is required. | ||
DataDefinition::setSetting | public | function | Sets a definition setting. | 2 | |
DataDefinition::setSettings | public | function | Sets the array of settings, as required by the used class. | 2 | |
DataDefinition::toArray | public | function | Returns all definition values as array. | ||
DataDefinition::__construct | public | function | Constructs a new data definition object. | 1 | |
DataDefinition::__sleep | public | function | 2 | ||
FieldItemDataDefinition::$fieldDefinition | protected | property | The field definition the item definition belongs to. | ||
FieldItemDataDefinition::create | public static | function | Creates a new field item definition. | Overrides DataDefinition::create | |
FieldItemDataDefinition::createFromDataType | public static | function | Creates a new data definition object. | Overrides DataDefinition::createFromDataType | |
FieldItemDataDefinition::getFieldDefinition | public | function | Gets the field item's field definition. | Overrides FieldItemDataDefinitionInterface::getFieldDefinition | |
FieldItemDataDefinition::getMainPropertyName | public | function | Returns the name of the main property, if any. | Overrides ComplexDataDefinitionInterface::getMainPropertyName | |
FieldItemDataDefinition::getPropertyDefinition | public | function | Gets the definition of a contained property. | Overrides ComplexDataDefinitionInterface::getPropertyDefinition | |
FieldItemDataDefinition::getPropertyDefinitions | public | function | Gets an array of property definitions of contained properties. | Overrides ComplexDataDefinitionInterface::getPropertyDefinitions | |
FieldItemDataDefinition::setFieldDefinition | public | function | Sets the field item's field definition. | Overrides FieldItemDataDefinitionInterface::setFieldDefinition | |
TypedDataTrait::$typedDataManager | protected | property | The typed data manager used for creating the data types. | ||
TypedDataTrait::getTypedDataManager | public | function | Gets the typed data manager. | 2 | |
TypedDataTrait::setTypedDataManager | public | function | Sets the typed data manager. | 2 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.