Defines a data type annotation object.
The typed data API allows modules to support any kind of data based upon pre-defined primitive types and interfaces for complex data and lists.
Defined data types may map to one of the pre-defined primitive types in \Drupal\Core\TypedData\Primitive or may be complex data types, containing on or more data properties. Typed data objects for complex data types have to implement the \Drupal\Core\TypedData\ComplexDataInterface. Further interface that may be implemented are:
Furthermore, lists of data items are represented by objects implementing the \Drupal\Core\TypedData\ListInterface. A list contains items of the same data type, is ordered and may contain duplicates. The class used for a list of items of a certain type may be specified using the 'list class' key.
Hierarchy
- class \Drupal\Component\Annotation\Plugin implements AnnotationInterface
- class \Drupal\Core\TypedData\Annotation\DataType
See also
\Drupal\Core\TypedData\TypedDataManager::create()
Related topics
- Annotations
- Annotations for class discovery and metadata description.
- Typed Data API
- API for describing data based on a set of available data types.
File
- core/lib/Drupal/Core/TypedData/Annotation/DataType.php, line 34
Namespace
Drupal\Core\TypedData\Annotation
Members
Name | Modifiers | Type | Description |
---|---|---|---|
DataType::$constraints | public | property | An array of validation constraints for this type. |
DataType::$definition_class | public | property | The definition class to use for defining data of this type. Must implement the \Drupal\Core\TypedData\DataDefinitionInterface. |
DataType::$description | public | property | The description of the data type. |
DataType::$id | public | property | The data type plugin ID. |
DataType::$label | public | property | The human-readable name of the data type. |
DataType::$list_class | public | property | The typed data class used for wrapping multiple data items of the type. Must implement the \Drupal\Core\TypedData\ListInterface. |
DataType::$list_definition_class | public | property | The definition class to use for defining a list of items of this type. Must implement the \Drupal\Core\TypedData\ListDataDefinitionInterface. |
DataType::$primitive_type | public | property | The pre-defined primitive type that this data type maps to. |
DataType::$unwrap_for_canonical_representation | public | property | Whether the typed object wraps the canonical representation of the data. |
Plugin::$definition | protected | property | The plugin definition read from the class annotation. |
Plugin::get | public | function | Gets the value of an annotation. Overrides AnnotationInterface::get |
Plugin::getClass | public | function | Gets the class of the annotated class. Overrides AnnotationInterface::getClass |
Plugin::getId | public | function | Gets the unique ID for this annotated class. Overrides AnnotationInterface::getId |
Plugin::getProvider | public | function | Gets the name of the provider of the annotated class. Overrides AnnotationInterface::getProvider |
Plugin::parse | protected | function | Parses an annotation into its definition. |
Plugin::setClass | public | function | Sets the class of the annotated class. Overrides AnnotationInterface::setClass |
Plugin::setProvider | public | function | Sets the name of the provider of the annotated class. Overrides AnnotationInterface::setProvider |
Plugin::__construct | public | function | Constructs a Plugin object. |
Please login to continue.