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