1<?php
2
3namespace Drupal\Core\TypedData\Plugin\DataType;
4
5use Drupal\Core\TypedData\DataReferenceBase;
6
7/**
8 * Defines the 'language_reference' data type.
9 *
10 * This serves as 'language' property of language field items and gets
11 * its value set from the parent, i.e. LanguageItem.
12 *
13 * The plain value is the language object, i.e. an instance of
14 * \Drupal\Core\Language\Language. For setting the value the language object or
15 * the language code as string may be passed.
16 *
17 * @DataType(
18 *   id = "language_reference",
19 *   label = @Translation("Language reference"),
20 *   definition_class = "\Drupal\Core\TypedData\DataReferenceDefinition"
21 * )
22 */
23class LanguageReference extends DataReferenceBase {
24
25  /**
26   * {@inheritdoc}
27   */
28  public function getTargetIdentifier() {
29    $language = $this->getTarget();
30    return isset($language) ? $language->id() : NULL;
31  }
32
33}
34