Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/TypedData/ListDataDefinition.php \Drupal\Core\TypedData\ListDataDefinition::getClass()
  2. 9 core/lib/Drupal/Core/TypedData/ListDataDefinition.php \Drupal\Core\TypedData\ListDataDefinition::getClass()

Returns the class used for creating the typed data object.

If not specified, the default class of the data type will be returned.

Return value

string The class used for creating the typed data object.

Overrides DataDefinition::getClass

2 calls to ListDataDefinition::getClass()
BaseFieldDefinition::getDefaultValue in core/lib/Drupal/Core/Field/BaseFieldDefinition.php
Returns the default value for the field in a newly created entity.
FieldDefinition::getDefaultValue in core/lib/Drupal/Core/Field/FieldDefinition.php
Returns the default value for the field in a newly created entity.

File

core/lib/Drupal/Core/TypedData/ListDataDefinition.php, line 74

Class

ListDataDefinition
A typed data definition class for defining lists.

Namespace

Drupal\Core\TypedData

Code

public function getClass() {
  if (!empty($this->definition['class'])) {
    return $this->definition['class'];
  }

  // If a list definition is used but no class has been specified, derive the
  // default list class from the item type.
  $item_type_definition = \Drupal::typedDataManager()
    ->getDefinition($this
    ->getItemDefinition()
    ->getDataType());
  if (!$item_type_definition) {
    throw new \LogicException("An invalid data type '{$this->getItemDefinition()->getDataType()}' has been specified for list items");
  }
  return $item_type_definition['list_class'];
}