diff --git a/core/lib/Drupal/Core/Entity/ContentEntityBase.php b/core/lib/Drupal/Core/Entity/ContentEntityBase.php index b7df380..261b00f 100644 --- a/core/lib/Drupal/Core/Entity/ContentEntityBase.php +++ b/core/lib/Drupal/Core/Entity/ContentEntityBase.php @@ -9,6 +9,7 @@ use Drupal\Component\Utility\String; use Drupal\Core\Entity\Plugin\DataType\EntityReference; +use Drupal\Core\Entity\TypedData\EntityDataDefinition; use Drupal\Core\Language\Language; use Drupal\Core\Session\AccountInterface; use Drupal\Core\TypedData\TypedDataInterface; @@ -135,10 +136,10 @@ public static function createDataDefinition($data_type) { if ($parts[0] != 'entity') { throw new \InvalidArgumentException('Data type must be in the form of "entity:ENTITY_TYPE:BUNDLE."'); } - $definition = EntityDefinition::create(); + $definition = EntityDataDefinition::create(); // Set the passed entity type and bundle. if (isset($parts[1])) { - $definition->setEntityType($parts[1]); + $definition->setEntityTypeId($parts[1]); } if (isset($parts[2])) { $definition->setBundles(array($parts[2])); @@ -230,10 +231,8 @@ public function preSaveRevision(EntityStorageControllerInterface $storage_contro * {@inheritdoc} */ public function getDefinition() { - // @todo: This does not make much sense, so remove once TypedDataInterface - // is removed. See https://drupal.org/node/2002138. - $definition = EntityDefinition::create() - ->setEntityType($this->entityType()); + $definition = EntityDataDefinition::create() + ->setEntityTypeId($this->entityType()); if ($this->bundle() != $this->entityType()) { $definition->setBundles(array($this->bundle())); } @@ -483,15 +482,9 @@ public function getIterator() { } /** - * Gets the definition of a contained field. - * - * @param string $name - * The name of the field. - * - * @return \Drupal\Core\Field\FieldDefinitionInterface|false - * The definition of the field or FALSE if the field does not exist. + * {@inheritdoc} */ - protected function getFieldDefinition($name) { + public function getFieldDefinition($name) { if (!isset($this->fieldDefinitions)) { $this->getFieldDefinitions(); } diff --git a/core/lib/Drupal/Core/Entity/ContentEntityInterface.php b/core/lib/Drupal/Core/Entity/ContentEntityInterface.php index b480bd9..59f596c 100644 --- a/core/lib/Drupal/Core/Entity/ContentEntityInterface.php +++ b/core/lib/Drupal/Core/Entity/ContentEntityInterface.php @@ -73,6 +73,17 @@ public static function baseFieldDefinitions($entity_type); public function hasField($field_name); /** + * Gets the definition of a contained field. + * + * @param string $name + * The name of the field. + * + * @return \Drupal\Core\Field\FieldDefinitionInterface|false + * The definition of the field or FALSE if the field does not exist. + */ + public function getFieldDefinition($name); + + /** * Gets an array of field definitions of all contained fields. * * @return \Drupal\Core\Field\FieldDefinitionInterface[] diff --git a/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityReference.php b/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityReference.php index 55e1d3b..1b769f7 100644 --- a/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityReference.php +++ b/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityReference.php @@ -47,7 +47,7 @@ class EntityReference extends DataReferenceBase { /** * Returns the definition of the referenced entity. * - * @return \Drupal\Core\Entity\EntityDefinitionInterface + * @return \Drupal\Core\Entity\TypedData\EntityDataDefinitionInterface * The reference target's definition. */ public function getTargetDefinition() { @@ -61,7 +61,7 @@ public function getTarget() { if (!isset($this->target) && isset($this->id)) { // If we have a valid reference, return the entity object which is typed // data itself. - $this->target = entity_load($this->getTargetDefinition()->getEntityType(), $this->id); + $this->target = entity_load($this->getTargetDefinition()->getEntityTypeId(), $this->id); } return $this->target; } @@ -98,7 +98,7 @@ public function setValue($value, $notify = TRUE) { if (!isset($value) || $value instanceof EntityInterface) { $this->target = $value; } - elseif (!is_scalar($value) || $this->getTargetDefinition()->getEntityType() === NULL) { + elseif (!is_scalar($value) || $this->getTargetDefinition()->getEntityTypeId() === NULL) { throw new \InvalidArgumentException('Value is not a valid entity.'); } else { diff --git a/core/lib/Drupal/Core/Entity/EntityDefinition.php b/core/lib/Drupal/Core/Entity/TypedData/EntityDataDefinition.php similarity index 67% rename from core/lib/Drupal/Core/Entity/EntityDefinition.php rename to core/lib/Drupal/Core/Entity/TypedData/EntityDataDefinition.php index 3d6ee9f..e5210c6 100644 --- a/core/lib/Drupal/Core/Entity/EntityDefinition.php +++ b/core/lib/Drupal/Core/Entity/TypedData/EntityDataDefinition.php @@ -2,32 +2,33 @@ /** * @file - * Contains \Drupal\Core\Entity\EntityDefinition. + * Contains \Drupal\Core\Entity\TypedData\EntityDataDefinition. */ -namespace Drupal\Core\Entity; +namespace Drupal\Core\Entity\TypedData; use Drupal\Core\TypedData\ComplexDataDefinitionBase; /** * A typed data definition class for describing entities. */ -class EntityDefinition extends ComplexDataDefinitionBase implements EntityDefinitionInterface { +class EntityDataDefinition extends ComplexDataDefinitionBase implements EntityDataDefinitionInterface { /** * Creates a new entity definition. * - * @param string $entity_type - * (optional) The entity type type, or NULL if unknown. Defaults to NULL. + * @param string $entity_type_id + * (optional) The ID of the entity type, or NULL if the entity type is + * unknown. Defaults to NULL. * * @return static * A new EntityDefinition object. */ - public static function create($entity_type = NULL) { + public static function create($entity_type_id = NULL) { $definition = new static(array()); // Set the passed entity type. - if (isset($entity_type)) { - $definition->setEntityType($entity_type); + if (isset($entity_type_id)) { + $definition->setEntityTypeId($entity_type_id); } return $definition; } @@ -37,12 +38,12 @@ public static function create($entity_type = NULL) { */ public function getPropertyDefinitions() { if (!isset($this->propertyDefinitions)) { - if ($entity_type = $this->getEntityType()) { + if ($entity_type_id = $this->getEntityTypeId()) { // @todo: Add support for handling multiple bundles. // See https://drupal.org/node/2169813. $bundles = $this->getBundles(); $bundle = is_array($bundles) && count($bundles) == 1 ? reset($bundles) : NULL; - $this->propertyDefinitions = \Drupal::entityManager()->getFieldDefinitions($entity_type, $bundle); + $this->propertyDefinitions = \Drupal::entityManager()->getFieldDefinitions($entity_type_id, $bundle); } else { // No entity type given. @@ -57,7 +58,7 @@ public function getPropertyDefinitions() { */ public function getDataType() { $type = 'entity'; - if ($entity_type = $this->getEntityType()) { + if ($entity_type = $this->getEntityTypeId()) { $type .= ':' . $entity_type; // Append the bundle only if we know it for sure. if (($bundles = $this->getBundles()) && count($bundles) == 1) { @@ -70,15 +71,15 @@ public function getDataType() { /** * {@inheritdoc} */ - public function getEntityType() { + public function getEntityTypeId() { return $this->getConstraint('EntityType'); } /** * {@inheritdoc} */ - public function setEntityType($entity_type) { - return $this->addConstraint('EntityType', $entity_type); + public function setEntityTypeId($entity_type_id) { + return $this->addConstraint('EntityType', $entity_type_id); } /** diff --git a/core/lib/Drupal/Core/Entity/EntityDefinitionInterface.php b/core/lib/Drupal/Core/Entity/TypedData/EntityDataDefinitionInterface.php similarity index 59% rename from core/lib/Drupal/Core/Entity/EntityDefinitionInterface.php rename to core/lib/Drupal/Core/Entity/TypedData/EntityDataDefinitionInterface.php index 49b9985..9b57384 100644 --- a/core/lib/Drupal/Core/Entity/EntityDefinitionInterface.php +++ b/core/lib/Drupal/Core/Entity/TypedData/EntityDataDefinitionInterface.php @@ -2,36 +2,36 @@ /** * @file - * Contains \Drupal\Core\Entity\EntityDefinitionInterface. + * Contains \Drupal\Core\Entity\TypedData\EntityDataDefinitionInterface. */ -namespace Drupal\Core\Entity; +namespace Drupal\Core\Entity\TypedData; use Drupal\Core\TypedData\ComplexDataDefinitionInterface; /** - * Interface for entity definitions. + * Interface for typed data entity definitions. */ -interface EntityDefinitionInterface extends ComplexDataDefinitionInterface { +interface EntityDataDefinitionInterface extends ComplexDataDefinitionInterface { /** - * Returns the entity type. + * Returns the entity type ID. * * @return string|null - * The entity type, or NULL if unknown. + * The entity type ID, or NULL if the entity type is unknown. */ - public function getEntityType(); + public function getEntityTypeId(); /** - * Sets the entity type. + * Sets the entity type ID. * - * @param string $entity_type + * @param string $entity_type_id * The entity type to set. * * @return static * The object itself for chaining. */ - public function setEntityType($entity_type); + public function setEntityTypeId($entity_type_id); /** * Returns the array of possible entity bundles. diff --git a/core/lib/Drupal/Core/Field/FieldDefinition.php b/core/lib/Drupal/Core/Field/FieldDefinition.php index 0c261e8..9a2ef28 100644 --- a/core/lib/Drupal/Core/Field/FieldDefinition.php +++ b/core/lib/Drupal/Core/Field/FieldDefinition.php @@ -8,13 +8,14 @@ namespace Drupal\Core\Field; use Drupal\Core\Entity\EntityInterface; -use Drupal\Core\TypedData\ListDefinition; +use Drupal\Core\Field\TypedData\FieldItemDataDefinition; +use Drupal\Core\TypedData\ListDataDefinition; use Drupal\field\FieldException; /** * A class for defining entity fields. */ -class FieldDefinition extends ListDefinition implements FieldDefinitionInterface { +class FieldDefinition extends ListDataDefinition implements FieldDefinitionInterface { /** * The field type. @@ -56,7 +57,7 @@ class FieldDefinition extends ListDefinition implements FieldDefinitionInterface public static function create($type) { $field_definition = new static(array()); $field_definition->type = $type; - $field_definition->itemDefinition = FieldItemDefinition::create($field_definition); + $field_definition->itemDefinition = FieldItemDataDefinition::create($field_definition); // Create a definition for the items, and initialize it with the default // settings for the field type. // @todo Cleanup in https://drupal.org/node/2116341. diff --git a/core/lib/Drupal/Core/Field/FieldDefinitionInterface.php b/core/lib/Drupal/Core/Field/FieldDefinitionInterface.php index f00bbe1..1d03ee1 100644 --- a/core/lib/Drupal/Core/Field/FieldDefinitionInterface.php +++ b/core/lib/Drupal/Core/Field/FieldDefinitionInterface.php @@ -8,7 +8,7 @@ namespace Drupal\Core\Field; use Drupal\Core\Entity\EntityInterface; -use Drupal\Core\TypedData\ListDefinitionInterface; +use Drupal\Core\TypedData\ListDataDefinitionInterface; /** * Defines an interface for entity field definitions. @@ -51,7 +51,7 @@ * based on that abstract definition, even though that abstract definition can * differ from the concrete definition of any particular node's body field. */ -interface FieldDefinitionInterface extends ListDefinitionInterface { +interface FieldDefinitionInterface extends ListDataDefinitionInterface { /** * Value indicating a field accepts an unlimited number of values. diff --git a/core/lib/Drupal/Core/Field/FieldItemBase.php b/core/lib/Drupal/Core/Field/FieldItemBase.php index f526147..98e48bd 100644 --- a/core/lib/Drupal/Core/Field/FieldItemBase.php +++ b/core/lib/Drupal/Core/Field/FieldItemBase.php @@ -17,7 +17,7 @@ * An entity field item. * * Entity field items making use of this base class have to implement - * the static function propertyDefinitions(). + * the static method propertyDefinitions(). * * @see \Drupal\Core\Field\FieldItemInterface */ diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php index bf691d8..3f81c17 100644 --- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php +++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php @@ -7,7 +7,7 @@ namespace Drupal\Core\Field\Plugin\Field\FieldType; -use Drupal\Core\Entity\EntityDefinition; +use Drupal\Core\Entity\TypedData\EntityDataDefinition; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Field\FieldItemBase; use Drupal\Core\TypedData\DataDefinition; @@ -59,7 +59,7 @@ public static function propertyDefinitions(FieldDefinitionInterface $field_defin // The entity object is computed out of the entity ID. ->setComputed(TRUE) ->setReadOnly(FALSE) - ->setTargetDefinition(EntityDefinition::create($settings['target_type'])); + ->setTargetDefinition(EntityDataDefinition::create($settings['target_type'])); if (isset($settings['target_bundle'])) { $properties['entity']->getTargetDefinition()->addConstraint('Bundle', $settings['target_bundle']); diff --git a/core/lib/Drupal/Core/Field/FieldItemDefinition.php b/core/lib/Drupal/Core/Field/TypedData/FieldItemDataDefinition.php similarity index 88% rename from core/lib/Drupal/Core/Field/FieldItemDefinition.php rename to core/lib/Drupal/Core/Field/TypedData/FieldItemDataDefinition.php index 9884fad..461856f 100644 --- a/core/lib/Drupal/Core/Field/FieldItemDefinition.php +++ b/core/lib/Drupal/Core/Field/TypedData/FieldItemDataDefinition.php @@ -2,10 +2,10 @@ /** * @file - * Contains \Drupal\Core\Field\FieldItemDefinition. + * Contains \Drupal\Core\Field\TypedData\FieldItemDataDefinition. */ -namespace Drupal\Core\Field; +namespace Drupal\Core\Field\TypedData; use Drupal\Core\TypedData\ComplexDataDefinitionInterface; use Drupal\Core\TypedData\DataDefinition; @@ -18,7 +18,7 @@ * by the field definitions, this class does not benefit and thus does not * extend from MapDefinition or ComplexDataDefinitionBase. */ -class FieldItemDefinition extends DataDefinition implements ComplexDataDefinitionInterface { +class FieldItemDataDefinition extends DataDefinition implements ComplexDataDefinitionInterface { /** * The field definition the item definition belongs to. diff --git a/core/lib/Drupal/Core/TypedData/DataDefinition.php b/core/lib/Drupal/Core/TypedData/DataDefinition.php index 28b78ab..e7bf25e 100644 --- a/core/lib/Drupal/Core/TypedData/DataDefinition.php +++ b/core/lib/Drupal/Core/TypedData/DataDefinition.php @@ -110,7 +110,7 @@ public function setDescription($description) { * {@inheritdoc} */ public function isList() { - return ($this instanceof ListDefinitionInterface); + return ($this instanceof ListDataDefinitionInterface); } /** diff --git a/core/lib/Drupal/Core/TypedData/ListDefinition.php b/core/lib/Drupal/Core/TypedData/ListDataDefinition.php similarity index 91% rename from core/lib/Drupal/Core/TypedData/ListDefinition.php rename to core/lib/Drupal/Core/TypedData/ListDataDefinition.php index 6b18f28..4d06044 100644 --- a/core/lib/Drupal/Core/TypedData/ListDefinition.php +++ b/core/lib/Drupal/Core/TypedData/ListDataDefinition.php @@ -2,7 +2,7 @@ /** * @file - * Contains \Drupal\Core\TypedData\ListDefinition. + * Contains \Drupal\Core\TypedData\ListDataDefinition. */ namespace Drupal\Core\TypedData; @@ -10,7 +10,7 @@ /** * A typed data definition class for defining lists. */ -class ListDefinition extends DataDefinition implements ListDefinitionInterface { +class ListDataDefinition extends DataDefinition implements ListDataDefinitionInterface { /** * The data definition of a list item. @@ -25,7 +25,7 @@ class ListDefinition extends DataDefinition implements ListDefinitionInterface { * @param string $item_type * The data type of the list items; e.g., 'string', 'integer' or 'any'. * - * @return \Drupal\Core\TypedData\ListDefinition + * @return \Drupal\Core\TypedData\ListDataDefinition * A new List Data Definition object. */ public static function create($item_type) { diff --git a/core/lib/Drupal/Core/TypedData/ListDefinitionInterface.php b/core/lib/Drupal/Core/TypedData/ListDataDefinitionInterface.php similarity index 81% rename from core/lib/Drupal/Core/TypedData/ListDefinitionInterface.php rename to core/lib/Drupal/Core/TypedData/ListDataDefinitionInterface.php index 6860b9f..7c7b269 100644 --- a/core/lib/Drupal/Core/TypedData/ListDefinitionInterface.php +++ b/core/lib/Drupal/Core/TypedData/ListDataDefinitionInterface.php @@ -2,7 +2,7 @@ /** * @file - * Contains \Drupal\Core\TypedData\ListDefinitionInterface. + * Contains \Drupal\Core\TypedData\ListDataDefinitionInterface. */ namespace Drupal\Core\TypedData; @@ -16,7 +16,7 @@ * @see \Drupal\Core\TypedData\ListDefinition * @see \Drupal\Core\TypedData\ListInterface */ -interface ListDefinitionInterface extends DataDefinitionInterface { +interface ListDataDefinitionInterface extends DataDefinitionInterface { /** * Gets the data definition of an item of the list. diff --git a/core/lib/Drupal/Core/TypedData/ListInterface.php b/core/lib/Drupal/Core/TypedData/ListInterface.php index 12d498d..65af58e 100644 --- a/core/lib/Drupal/Core/TypedData/ListInterface.php +++ b/core/lib/Drupal/Core/TypedData/ListInterface.php @@ -26,7 +26,7 @@ * @param string $data_type * The data type of the list items. * - * @return \Drupal\Core\TypedData\ListDefinitionInterface + * @return \Drupal\Core\TypedData\ListDataDefinitionInterface * A list definition for the given data type. */ public static function createDataDefinition($data_type); diff --git a/core/lib/Drupal/Core/TypedData/MapDefinition.php b/core/lib/Drupal/Core/TypedData/MapDataDefinition.php similarity index 94% rename from core/lib/Drupal/Core/TypedData/MapDefinition.php rename to core/lib/Drupal/Core/TypedData/MapDataDefinition.php index 0d39b51..6a9b3ae 100644 --- a/core/lib/Drupal/Core/TypedData/MapDefinition.php +++ b/core/lib/Drupal/Core/TypedData/MapDataDefinition.php @@ -2,7 +2,7 @@ /** * @file - * Contains \Drupal\Core\TypedData\MapDefinition. + * Contains \Drupal\Core\TypedData\MapDataDefinition. */ namespace Drupal\Core\TypedData; @@ -10,7 +10,7 @@ /** * A typed data definition class for defining maps. */ -class MapDefinition extends ComplexDataDefinitionBase { +class MapDataDefinition extends ComplexDataDefinitionBase { /** * The name of the main property, or NULL if there is none. diff --git a/core/lib/Drupal/Core/TypedData/Plugin/DataType/ItemList.php b/core/lib/Drupal/Core/TypedData/Plugin/DataType/ItemList.php index 108e342..dbcdb2b 100644 --- a/core/lib/Drupal/Core/TypedData/Plugin/DataType/ItemList.php +++ b/core/lib/Drupal/Core/TypedData/Plugin/DataType/ItemList.php @@ -8,7 +8,7 @@ namespace Drupal\Core\TypedData\Plugin\DataType; use Drupal\Core\TypedData\ComplexDataInterface; -use Drupal\Core\TypedData\ListDefinition; +use Drupal\Core\TypedData\ListDataDefinition; use Drupal\Core\TypedData\ListInterface; use Drupal\Core\TypedData\TypedData; use Drupal\Core\TypedData\TypedDataInterface; @@ -39,7 +39,7 @@ class ItemList extends TypedData implements \IteratorAggregate, ListInterface { * {@inheritdoc} */ public static function createDataDefinition($data_type) { - return ListDefinition::create($data_type); + return ListDataDefinition::create($data_type); } /** diff --git a/core/lib/Drupal/Core/TypedData/Plugin/DataType/Map.php b/core/lib/Drupal/Core/TypedData/Plugin/DataType/Map.php index e83e44b..6ef655f 100644 --- a/core/lib/Drupal/Core/TypedData/Plugin/DataType/Map.php +++ b/core/lib/Drupal/Core/TypedData/Plugin/DataType/Map.php @@ -7,7 +7,7 @@ namespace Drupal\Core\TypedData\Plugin\DataType; -use Drupal\Core\TypedData\MapDefinition; +use Drupal\Core\TypedData\MapDataDefinition; use Drupal\Core\TypedData\TypedData; use Drupal\Core\TypedData\ComplexDataInterface; @@ -53,7 +53,7 @@ class Map extends TypedData implements \IteratorAggregate, ComplexDataInterface * {@inheritdoc} */ public static function createDataDefinition($data_type) { - return MapDefinition::create($data_type); + return MapDataDefinition::create($data_type); } /** diff --git a/core/lib/Drupal/Core/TypedData/TypedDataInterface.php b/core/lib/Drupal/Core/TypedData/TypedDataInterface.php index 415ed00..1acb970 100644 --- a/core/lib/Drupal/Core/TypedData/TypedDataInterface.php +++ b/core/lib/Drupal/Core/TypedData/TypedDataInterface.php @@ -19,6 +19,11 @@ /** * Creates a new data definition object. * + * This method takes care of creating data definition objects based on the + * right definition class for its data type and gets usually called by the + * manager; i.e., + * \Drupal\Core\TypedData\TypedDataManager::createDataDefinition(). + * * @param string $data_type * The data type, for which a data definition should be created. * diff --git a/core/lib/Drupal/Core/TypedData/TypedDataManager.php b/core/lib/Drupal/Core/TypedData/TypedDataManager.php index 9452f2d..b7b7702 100644 --- a/core/lib/Drupal/Core/TypedData/TypedDataManager.php +++ b/core/lib/Drupal/Core/TypedData/TypedDataManager.php @@ -135,13 +135,23 @@ public function create(DataDefinitionInterface $definition, $value = NULL, $name /** * Creates a new data definition object. * + * While data definitions objects may be created directly if the definition + * class used by a data type is known, this method allows the creation of data + * definitions for any given data type. + * + * E.g., if a definition for a map is to be created, the following code + * could be used instead of calling this method with the argument 'map': + * @code + * $map_definition = \Drupal\Core\TypedData\MapDefinition::create(); + * @endcode + * * @param string $data_type * The data type, for which a data definition should be created. * @param bool $list * (optional) Whether to define a single item of the given type (FALSE), or * a list of items (TRUE). Defaults to FALSE. * - * @return \Drupal\Core\TypedData\DataDefinitionInterface|\Drupal\Core\TypedData\ListDefinitionInterface + * @return \Drupal\Core\TypedData\DataDefinitionInterface|\Drupal\Core\TypedData\ListDataDefinitionInterface * A data or list definition for the given data type. */ public function createDataDefinition($data_type, $list = FALSE) { @@ -218,7 +228,7 @@ public function getPropertyInstance(TypedDataInterface $object, $property_name, $definition = $object->getRoot()->getDefinition(); // If the definition is a list, we need to look at the data type and the // settings of its item definition. - if ($definition instanceof ListDefinition) { + if ($definition instanceof ListDataDefinition) { $definition = $definition->getItemDefinition(); } $key = $definition->getDataType(); diff --git a/core/modules/field/lib/Drupal/field/Entity/Field.php b/core/modules/field/lib/Drupal/field/Entity/Field.php index 8cb4354..c57dd2f 100644 --- a/core/modules/field/lib/Drupal/field/Entity/Field.php +++ b/core/modules/field/lib/Drupal/field/Entity/Field.php @@ -11,7 +11,7 @@ use Drupal\Core\Config\Entity\ConfigEntityBase; use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Entity\EntityStorageControllerInterface; -use Drupal\Core\Field\FieldItemDefinition; +use Drupal\Core\Field\TypedData\FieldItemDataDefinition; use Drupal\field\FieldException; use Drupal\field\FieldInterface; @@ -771,7 +771,7 @@ public function getConstraint($constraint_name) { */ public function getItemDefinition() { if (!isset($this->itemDefinition)) { - $this->itemDefinition = FieldItemDefinition::create($this) + $this->itemDefinition = FieldItemDataDefinition::create($this) ->setSettings($this->getSettings()); } return $this->itemDefinition; diff --git a/core/modules/field/lib/Drupal/field/Entity/FieldInstance.php b/core/modules/field/lib/Drupal/field/Entity/FieldInstance.php index 82e5561..1cc2317 100644 --- a/core/modules/field/lib/Drupal/field/Entity/FieldInstance.php +++ b/core/modules/field/lib/Drupal/field/Entity/FieldInstance.php @@ -10,7 +10,7 @@ use Drupal\Core\Config\Entity\ConfigEntityBase; use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Entity\EntityStorageControllerInterface; -use Drupal\Core\Field\FieldItemDefinition; +use Drupal\Core\Field\TypedData\FieldItemDataDefinition; use Drupal\field\FieldException; use Drupal\Core\TypedData\DataDefinition; use Drupal\field\FieldInstanceInterface; @@ -684,7 +684,7 @@ public function getConstraint($constraint_name) { */ public function getItemDefinition() { if (!isset($this->itemDefinition)) { - $this->itemDefinition = FieldItemDefinition::create($this) + $this->itemDefinition = FieldItemDataDefinition::create($this) ->setSettings($this->getSettings()); } return $this->itemDefinition; diff --git a/core/modules/link/lib/Drupal/link/Plugin/Field/FieldType/LinkItem.php b/core/modules/link/lib/Drupal/link/Plugin/Field/FieldType/LinkItem.php index 2ab5084..d11e337 100644 --- a/core/modules/link/lib/Drupal/link/Plugin/Field/FieldType/LinkItem.php +++ b/core/modules/link/lib/Drupal/link/Plugin/Field/FieldType/LinkItem.php @@ -10,7 +10,7 @@ use Drupal\Core\Field\ConfigFieldItemBase; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\TypedData\DataDefinition; -use Drupal\Core\TypedData\MapDefinition; +use Drupal\Core\TypedData\MapDataDefinition; /** * Plugin implementation of the 'link' field type. @@ -38,7 +38,7 @@ public static function propertyDefinitions(FieldDefinitionInterface $field_defin $properties['title'] = DataDefinition::create('string') ->setLabel(t('Link text')); - $properties['attributes'] = MapDefinition::create() + $properties['attributes'] = MapDataDefinition::create() ->setLabel(t('Attributes')); return $properties; diff --git a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityFieldTest.php b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityFieldTest.php index f97ca53..89d0cee 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityFieldTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityFieldTest.php @@ -7,8 +7,8 @@ namespace Drupal\system\Tests\Entity; -use Drupal\Core\Entity\EntityDefinition; -use Drupal\Core\Entity\EntityDefinitionInterface; +use Drupal\Core\Entity\TypedData\EntityDataDefinition; +use Drupal\Core\Entity\TypedData\EntityDataDefinitionInterface; use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Field\FieldDefinition; use Drupal\Core\Field\FieldDefinitionInterface; @@ -374,7 +374,7 @@ protected function checkIntrospection($entity_type) { $this->assertEqual($value_definition->getDataType(), 'string'); // Test deriving metadata from references. - $entity_definition = EntityDefinition::create($entity_type); + $entity_definition = \Drupal\Core\Entity\TypedData\EntityDataDefinition::create($entity_type); $reference_definition = $entity_definition->getPropertyDefinition('langcode') ->getPropertyDefinition('language') ->getTargetDefinition(); @@ -384,8 +384,8 @@ protected function checkIntrospection($entity_type) { ->getPropertyDefinition('entity') ->getTargetDefinition(); - $this->assertTrue($reference_definition instanceof EntityDefinitionInterface, 'Definition of the referenced user retrieved.'); - $this->assertEqual($reference_definition->getEntityType(), 'user', 'Referenced entity is of type "user".'); + $this->assertTrue($reference_definition instanceof \Drupal\Core\Entity\TypedData\EntityDataDefinitionInterface, 'Definition of the referenced user retrieved.'); + $this->assertEqual($reference_definition->getEntityTypeId(), 'user', 'Referenced entity is of type "user".'); // Test propagating down. $name_definition = $reference_definition->getPropertyDefinition('name'); diff --git a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTypedDataDefinitionTest.php b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTypedDataDefinitionTest.php index 6322bc6..4c3b63e 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTypedDataDefinitionTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityTypedDataDefinitionTest.php @@ -7,14 +7,14 @@ namespace Drupal\system\Tests\Entity; -use Drupal\Core\Entity\EntityDefinition; -use Drupal\Core\Entity\EntityDefinitionInterface; +use Drupal\Core\Entity\TypedData\EntityDataDefinition; +use Drupal\Core\Entity\TypedData\EntityDataDefinitionInterface; use Drupal\Core\Field\FieldDefinition; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\TypedData\ComplexDataDefinitionInterface; use Drupal\Core\TypedData\DataReferenceDefinition; use Drupal\Core\TypedData\DataReferenceDefinitionInterface; -use Drupal\Core\TypedData\ListDefinitionInterface; +use Drupal\Core\TypedData\ListDataDefinitionInterface; use Drupal\simpletest\DrupalUnitTestBase; /** @@ -55,10 +55,10 @@ public function setUp() { public function testFields() { $field_definition = FieldDefinition::create('integer'); // Fields are lists of complex data. - $this->assertTrue($field_definition instanceof ListDefinitionInterface); + $this->assertTrue($field_definition instanceof ListDataDefinitionInterface); $this->assertFalse($field_definition instanceof ComplexDataDefinitionInterface); $field_item_definition = $field_definition->getItemDefinition(); - $this->assertFalse($field_item_definition instanceof ListDefinitionInterface); + $this->assertFalse($field_item_definition instanceof ListDataDefinitionInterface); $this->assertTrue($field_item_definition instanceof ComplexDataDefinitionInterface); // Derive metadata about field item properties. @@ -77,14 +77,14 @@ public function testFields() { // Test using the definition factory for field item lists and field items. $field_item2 = $this->typedDataManager->createDataDefinition('field_item:integer'); - $this->assertFalse($field_item2 instanceof ListDefinitionInterface); + $this->assertFalse($field_item2 instanceof ListDataDefinitionInterface); $this->assertTrue($field_item2 instanceof ComplexDataDefinitionInterface); // Comparison should ignore the internal static cache, so compare the // serialized objects instead. $this->assertEqual(serialize($field_item_definition), serialize($field_item2)); $field_definition2 = $this->typedDataManager->createDataDefinition('field_item:integer', TRUE); - $this->assertTrue($field_definition2 instanceof ListDefinitionInterface); + $this->assertTrue($field_definition2 instanceof ListDataDefinitionInterface); $this->assertFalse($field_definition2 instanceof ComplexDataDefinitionInterface); $this->assertEqual(serialize($field_definition), serialize($field_definition2)); } @@ -93,9 +93,9 @@ public function testFields() { * Tests deriving metadata about entities. */ public function testEntities() { - $entity_definition = EntityDefinition::create('node'); + $entity_definition = EntityDataDefinition::create('node'); // Entities are complex data. - $this->assertFalse($entity_definition instanceof ListDefinitionInterface); + $this->assertFalse($entity_definition instanceof ListDataDefinitionInterface); $this->assertTrue($entity_definition instanceof ComplexDataDefinitionInterface); $field_definitions = $entity_definition->getPropertyDefinitions(); @@ -107,14 +107,14 @@ public function testEntities() { $this->assertNull($entity_definition->getPropertyDefinition('invalid')); $entity_definition2 = $this->typedDataManager->createDataDefinition('entity:node', FALSE); - $this->assertFalse($entity_definition2 instanceof ListDefinitionInterface); + $this->assertFalse($entity_definition2 instanceof ListDataDefinitionInterface); $this->assertTrue($entity_definition2 instanceof ComplexDataDefinitionInterface); $this->assertEqual(serialize($entity_definition), serialize($entity_definition2)); // Test that definition factory creates the right definitions for all // entity data types variants. - $this->assertEqual($this->typedDataManager->createDataDefinition('entity'), EntityDefinition::create()); - $this->assertEqual($this->typedDataManager->createDataDefinition('entity:node'), EntityDefinition::create('node')); + $this->assertEqual($this->typedDataManager->createDataDefinition('entity'), EntityDataDefinition::create()); + $this->assertEqual($this->typedDataManager->createDataDefinition('entity:node'), EntityDataDefinition::create('node')); } /** @@ -126,7 +126,7 @@ public function testEntityReferences() { // Test retrieving metadata about the referenced data. $this->assertEqual($reference_definition->getTargetDefinition()->getDataType(), 'entity'); - $this->assertTrue($reference_definition->getTargetDefinition() instanceof EntityDefinitionInterface); + $this->assertTrue($reference_definition->getTargetDefinition() instanceof \Drupal\Core\Entity\TypedData\EntityDataDefinitionInterface); // Test using the definition factory. $reference_definition2 = $this->typedDataManager->createDataDefinition('entity_reference'); diff --git a/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataDefinitionTest.php b/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataDefinitionTest.php index 800abd2..4872f06 100644 --- a/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataDefinitionTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataDefinitionTest.php @@ -12,9 +12,9 @@ use Drupal\Core\TypedData\DataDefinitionInterface; use Drupal\Core\TypedData\DataReferenceDefinition; use Drupal\Core\TypedData\DataReferenceDefinitionInterface; -use Drupal\Core\TypedData\ListDefinition; -use Drupal\Core\TypedData\ListDefinitionInterface; -use Drupal\Core\TypedData\MapDefinition; +use Drupal\Core\TypedData\ListDataDefinition; +use Drupal\Core\TypedData\ListDataDefinitionInterface; +use Drupal\Core\TypedData\MapDataDefinition; use Drupal\simpletest\DrupalUnitTestBase; /** @@ -46,21 +46,21 @@ public function setUp() { * Tests deriving metadata about list items. */ public function testLists() { - $list_definition = ListDefinition::create('string'); - $this->assertTrue($list_definition instanceof ListDefinitionInterface); + $list_definition = ListDataDefinition::create('string'); + $this->assertTrue($list_definition instanceof ListDataDefinitionInterface); $item_definition = $list_definition->getItemDefinition(); $this->assertTrue($item_definition instanceof DataDefinitionInterface); $this->assertEqual($item_definition->getDataType(), 'string'); // Test using the definition factory. $list_definition2 = $this->typedDataManager->createDataDefinition('string', TRUE); - $this->assertTrue($list_definition2 instanceof ListDefinitionInterface); + $this->assertTrue($list_definition2 instanceof ListDataDefinitionInterface); $this->assertEqual($list_definition, $list_definition2); // Test creating a single list item, which is the same as a list of any // items. $list_definition = $this->typedDataManager->createDataDefinition('list'); - $this->assertTrue($list_definition instanceof ListDefinitionInterface); + $this->assertTrue($list_definition instanceof ListDataDefinitionInterface); $this->assertEqual($list_definition->getDataType(), 'list'); $this->assertEqual($list_definition->getItemDefinition()->getDataType(), 'any'); } @@ -69,7 +69,7 @@ public function testLists() { * Tests deriving metadata about maps. */ public function testMaps() { - $map_definition = MapDefinition::create() + $map_definition = MapDataDefinition::create() ->setPropertyDefinition('one', DataDefinition::create('string')) ->setPropertyDefinition('two', DataDefinition::create('string')) ->setPropertyDefinition('three', DataDefinition::create('string')); diff --git a/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataTest.php b/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataTest.php index 97407bf..aeb5bf8 100644 --- a/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataTest.php @@ -9,8 +9,8 @@ use Drupal\Core\Field\FieldDefinition; use Drupal\Core\TypedData\DataDefinition; -use Drupal\Core\TypedData\ListDefinition; -use Drupal\Core\TypedData\MapDefinition; +use Drupal\Core\TypedData\ListDataDefinition; +use Drupal\Core\TypedData\MapDataDefinition; use Drupal\Core\TypedData\Plugin\DataType\Map; use Drupal\simpletest\DrupalUnitTestBase; use Drupal\Core\Datetime\DrupalDateTime; @@ -320,7 +320,7 @@ public function testGetAndSet() { public function testTypedDataLists() { // Test working with an existing list of strings. $value = array('one', 'two', 'three'); - $typed_data = $this->createTypedData(ListDefinition::create('string'), $value); + $typed_data = $this->createTypedData(ListDataDefinition::create('string'), $value); $this->assertEqual($typed_data->getValue(), $value, 'List value has been set.'); // Test iterating. $count = 0; @@ -412,7 +412,7 @@ public function testTypedDataMaps() { 'two' => 'zwei', 'three' => 'drei', ); - $definition = MapDefinition::create() + $definition = MapDataDefinition::create() ->setPropertyDefinition('one', DataDefinition::create('string')) ->setPropertyDefinition('two', DataDefinition::create('string')) ->setPropertyDefinition('three', DataDefinition::create('string')); diff --git a/core/modules/system/lib/Drupal/system/Tests/Validation/ComplexDataConstraintValidatorTest.php b/core/modules/system/lib/Drupal/system/Tests/Validation/ComplexDataConstraintValidatorTest.php index 7c5824e..baabdb8 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Validation/ComplexDataConstraintValidatorTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Validation/ComplexDataConstraintValidatorTest.php @@ -8,7 +8,7 @@ namespace Drupal\system\Tests\Validation; use Drupal\Core\TypedData\DataDefinition; -use Drupal\Core\TypedData\MapDefinition; +use Drupal\Core\TypedData\MapDataDefinition; use Drupal\simpletest\DrupalUnitTestBase; /** @@ -43,7 +43,7 @@ public function setUp() { */ public function testValidation() { // Create a definition that specifies some ComplexData constraint. - $definition = MapDefinition::create() + $definition = MapDataDefinition::create() ->setPropertyDefinition('key', DataDefinition::create('integer')) ->addConstraint('ComplexData', array( 'key' => array( @@ -73,7 +73,7 @@ public function testValidation() { $violations = $typed_data->validate(); $this->assertEqual($violations->count(), 0, 'Constraint on non-existing key is ignored.'); - $definition = MapDefinition::create() + $definition = MapDataDefinition::create() ->setPropertyDefinition('key', DataDefinition::create('integer')) ->addConstraint('ComplexData', array( 'key' => array(