abstract class DataReferenceBase in Zircon Profile 8.0
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/TypedData/DataReferenceBase.php \Drupal\Core\TypedData\DataReferenceBase
Base class for typed data references.
Data types based on this base class need to be named "{TARGET_TYPE}_reference", whereas {TARGET_TYPE} is the referenced data type. For example, an entity reference data type would have to be named "entity_reference". Beside that, implementing classes have to implement at least \Drupal\Core\TypedData\DataReferenceInterface::getTargetIdentifier().
Hierarchy
- class \Drupal\Core\TypedData\TypedData implements PluginInspectionInterface, TypedDataInterface uses StringTranslationTrait, TypedDataTrait
- class \Drupal\Core\TypedData\DataReferenceBase implements DataReferenceInterface
Expanded class hierarchy of DataReferenceBase
See also
\Drupal\Core\TypedData\DataReferenceDefinition
2 files declare their use of DataReferenceBase
- EntityReference.php in core/
lib/ Drupal/ Core/ Entity/ Plugin/ DataType/ EntityReference.php - Contains \Drupal\Core\Entity\Plugin\DataType\EntityReference.
- LanguageReference.php in core/
lib/ Drupal/ Core/ TypedData/ Plugin/ DataType/ LanguageReference.php - Contains \Drupal\Core\TypedData\Plugin\DataType\LanguageReference.
File
- core/
lib/ Drupal/ Core/ TypedData/ DataReferenceBase.php, line 22 - Contains \Drupal\Core\TypedData\DataReferenceBase.
Namespace
Drupal\Core\TypedDataView source
abstract class DataReferenceBase extends TypedData implements DataReferenceInterface {
/**
* The referenced data.
*
* @var \Drupal\Core\TypedData\TypedDataInterface
*/
protected $target;
/**
* {@inheritdoc}
*/
public function getTarget() {
return $this->target;
}
/**
* {@inheritdoc}
*/
public function getValue() {
if ($target = $this
->getTarget()) {
return $target
->getValue();
}
}
/**
* {@inheritdoc}
*/
public function setValue($value, $notify = TRUE) {
$this->target = $this
->getTypedDataManager()
->create($this->definition
->getTargetDefinition(), $value);
// Notify the parent of any changes.
if ($notify && isset($this->parent)) {
$this->parent
->onChange($this->name);
}
}
/**
* {@inheritdoc}
*/
public function getString() {
return (string) $this
->getType() . ':' . $this
->getTargetIdentifier();
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DataReferenceBase:: |
protected | property | The referenced data. | |
DataReferenceBase:: |
public | function |
Returns a string representation of the data. Overrides TypedData:: |
1 |
DataReferenceBase:: |
public | function |
Gets the referenced data. Overrides DataReferenceInterface:: |
1 |
DataReferenceBase:: |
public | function |
Gets the data value. Overrides TypedData:: |
|
DataReferenceBase:: |
public | function |
Sets the data value. Overrides TypedData:: |
1 |
DataReferenceInterface:: |
public | function | Gets the identifier of the referenced data. | 2 |
StringTranslationTrait:: |
protected | property | The string translation service. | |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
TypedData:: |
protected | property | The data definition. | 1 |
TypedData:: |
protected | property | The property name. | |
TypedData:: |
protected | property | The parent typed data object. | |
TypedData:: |
public | function |
Applies the default value. Overrides TypedDataInterface:: |
3 |
TypedData:: |
public static | function |
Constructs a TypedData object given its definition and context. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Gets a list of validation constraints. Overrides TypedDataInterface:: |
8 |
TypedData:: |
public | function |
Gets the data definition. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns the name of a property or item. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns the parent data structure; i.e. either complex data or a list. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
|
TypedData:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
TypedData:: |
public | function |
Returns the property path of the data. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Returns the root of the typed data tree. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Sets the context of a property or item via a context aware parent. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function |
Validates the currently set data value. Overrides TypedDataInterface:: |
|
TypedData:: |
public | function | Constructs a TypedData object given its definition and context. | 3 |
TypedDataTrait:: |
protected | property | The typed data manager used for creating the data types. | |
TypedDataTrait:: |
public | function | Gets the typed data manager. | 1 |
TypedDataTrait:: |
public | function | Sets the typed data manager. | 1 |