You are here

class EntityReferenceRevisionItemNormalizer in Tome 8

Normalizer for entity reference revision fields.

@internal

Hierarchy

Expanded class hierarchy of EntityReferenceRevisionItemNormalizer

1 string reference to 'EntityReferenceRevisionItemNormalizer'
tome_sync.services.yml in modules/tome_sync/tome_sync.services.yml
modules/tome_sync/tome_sync.services.yml
1 service uses EntityReferenceRevisionItemNormalizer
serializer.normalizer.entity_reference_revision_tome_sync in modules/tome_sync/tome_sync.services.yml
Drupal\tome_sync\Normalizer\EntityReferenceRevisionItemNormalizer

File

modules/tome_sync/src/Normalizer/EntityReferenceRevisionItemNormalizer.php, line 12

Namespace

Drupal\tome_sync\Normalizer
View source
class EntityReferenceRevisionItemNormalizer extends EntityReferenceItemNormalizer {

  /**
   * {@inheritdoc}
   */
  protected $supportedInterfaceOrClass = 'Drupal\\entity_reference_revisions\\Plugin\\Field\\FieldType\\EntityReferenceRevisionsItem';

  /**
   * {@inheritdoc}
   */
  protected function constructValue($data, $context) {
    $value = parent::constructValue($data, $context);
    if (isset($data['target_uuid']) && isset($data['target_type'])) {
      if ($entity = $this->entityRepository
        ->loadEntityByUuid($data['target_type'], $data['target_uuid'])) {
        if ($entity instanceof RevisionableInterface) {
          $value['target_revision_id'] = $entity
            ->getRevisionId();
        }
      }
    }
    return $value;
  }

  /**
   * {@inheritdoc}
   */
  public function normalize($field_item, $format = NULL, array $context = []) {
    $values = parent::normalize($field_item, $format, $context);
    if (isset($values['target_revision_id'])) {
      unset($values['target_revision_id']);
    }
    return $values;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CacheableNormalizerInterface::SERIALIZATION_CONTEXT_CACHEABILITY constant Name of key for bubbling cacheability metadata via serialization context.
EntityReferenceFieldItemNormalizer::$entityRepository protected property The entity repository.
EntityReferenceFieldItemNormalizer::__construct public function Constructs a EntityReferenceFieldItemNormalizer object.
EntityReferenceFieldItemNormalizerTrait::fieldItemReferencesTaxonomyTerm protected function Determines if a field item references a taxonomy term.
EntityReferenceFieldItemNormalizerTrait::normalizeRootReferenceValue protected function
EntityReferenceRevisionItemNormalizer::$supportedInterfaceOrClass protected property The interface or class that this Normalizer supports. Overrides EntityReferenceFieldItemNormalizer::$supportedInterfaceOrClass
EntityReferenceRevisionItemNormalizer::constructValue protected function Build the field item value using the incoming data. Overrides EntityReferenceFieldItemNormalizer::constructValue
EntityReferenceRevisionItemNormalizer::normalize public function Normalizes an object into a set of arrays/scalars. Overrides EntityReferenceItemNormalizer::normalize
FieldableEntityNormalizerTrait::$entityFieldManager protected property The entity field manager.
FieldableEntityNormalizerTrait::$entityTypeManager protected property The entity type manager. 1
FieldableEntityNormalizerTrait::$entityTypeRepository protected property The entity type repository.
FieldableEntityNormalizerTrait::denormalizeFieldData protected function Denormalizes entity data by denormalizing each field individually.
FieldableEntityNormalizerTrait::determineEntityTypeId protected function Determines the entity type ID to denormalize as.
FieldableEntityNormalizerTrait::extractBundleData protected function Denormalizes the bundle property so entity creation can use it.
FieldableEntityNormalizerTrait::getEntityFieldManager protected function Returns the entity field manager.
FieldableEntityNormalizerTrait::getEntityTypeDefinition protected function Gets the entity type definition.
FieldableEntityNormalizerTrait::getEntityTypeManager protected function Returns the entity type manager.
FieldableEntityNormalizerTrait::getEntityTypeRepository protected function Returns the entity type repository.
FieldItemNormalizer::denormalize public function Denormalizes data back into an object of the given class.
NormalizerBase::$format protected property List of formats which supports (de-)normalization. 3
NormalizerBase::addCacheableDependency protected function Adds cacheability if applicable.
NormalizerBase::checkFormat protected function Checks if the provided format is supported by this normalizer. 2
NormalizerBase::supportsDenormalization public function Implements \Symfony\Component\Serializer\Normalizer\DenormalizerInterface::supportsDenormalization() 1
NormalizerBase::supportsNormalization public function Checks whether the given class is supported for normalization by this normalizer. 1
SerializedColumnNormalizerTrait::checkForSerializedStrings protected function Checks if there is a serialized string for a column.
SerializedColumnNormalizerTrait::dataHasStringForSerializeColumn protected function Checks if the data contains string value for serialize column.
SerializedColumnNormalizerTrait::getCustomSerializedPropertyNames protected function Gets the names of all properties the plugin treats as serialized data.
SerializedColumnNormalizerTrait::getSerializedPropertyNames protected function Gets the names of all serialized properties.