abstract class EntityDenormalizerBase extends NormalizerBase implements DenormalizerInterface (View source)

internal  JSON:API maintains no PHP API since its API is the HTTP API. This class may change at any time and this will break any dependencies on it.
 

Converts the Drupal entity object to a JSON:API array structure.

Traits

SerializerAwareTrait

Properties

protected string|array $supportedInterfaceOrClass

The interface or class that this Normalizer supports.

from  NormalizerBase
protected $format {@inheritdoc} from  NormalizerBase
protected ResourceTypeRepositoryInterface $resourceTypeRepository

The JSON:API resource type repository.

protected EntityTypeManagerInterface $entityTypeManager

The entity type manager.

protected EntityFieldManagerInterface $fieldManager

The entity field manager.

protected FieldTypePluginManagerInterface $pluginManager

The field plugin manager.

Methods

bool
supportsNormalization($data, $format = NULL)

{@inheritdoc}

supportsDenormalization($data, $type, $format = NULL)

Implements \Symfony\Component\Serializer\Normalizer\DenormalizerInterface::supportsDenormalization()

bool
checkFormat(string $format = NULL)

Checks if the provided format is supported by this normalizer.

addCacheableDependency(array $context, $data)

Adds cacheability if applicable.

bool
hasCacheableSupportsMethod()

{@inheritdoc}

static mixed
rasterizeValueRecursive(mixed $value)

Rasterizes a value recursively.

__construct(EntityTypeManagerInterface $entity_type_manager, EntityFieldManagerInterface $field_manager, FieldTypePluginManagerInterface $plugin_manager)

Constructs an EntityDenormalizerBase object.

array|string|int|float|bool|ArrayObject|null
normalize($object, $format = NULL, array $context = [])

{@inheritdoc}

mixed
denormalize($data, $class, $format = NULL, array $context = [])

{@inheritdoc}

array
prepareInput(array $data, ResourceType $resource_type, string $format, array $context)

Prepares the input data to create the entity.

Details

bool supportsNormalization($data, $format = NULL)

{@inheritdoc}

Parameters

$data
$format

Return Value

bool

supportsDenormalization($data, $type, $format = NULL)

Implements \Symfony\Component\Serializer\Normalizer\DenormalizerInterface::supportsDenormalization()

This class doesn't implement DenormalizerInterface, but most of its child classes do. Therefore, this method is implemented at this level to reduce code duplication.

Parameters

$data
$type
$format

protected bool checkFormat(string $format = NULL)

Checks if the provided format is supported by this normalizer.

Parameters

string $format

The format to check.

Return Value

bool

TRUE if the format is supported, FALSE otherwise. If no format is specified this will return TRUE.

protected addCacheableDependency(array $context, $data)

Adds cacheability if applicable.

Parameters

array $context

Context options for the normalizer.

$data

The data that might have cacheability information.

bool hasCacheableSupportsMethod()

{@inheritdoc}

Return Value

bool

static protected mixed rasterizeValueRecursive(mixed $value)

Rasterizes a value recursively.

This is mainly for configuration entities where a field can be a tree of values to rasterize.

Parameters

mixed $value

Either a scalar, an array or a rasterizable object.

Return Value

mixed

The rasterized value.

__construct(EntityTypeManagerInterface $entity_type_manager, EntityFieldManagerInterface $field_manager, FieldTypePluginManagerInterface $plugin_manager)

Constructs an EntityDenormalizerBase object.

Parameters

EntityTypeManagerInterface $entity_type_manager

The entity type manager.

EntityFieldManagerInterface $field_manager

The entity field manager.

FieldTypePluginManagerInterface $plugin_manager

The plugin manager for fields.

array|string|int|float|bool|ArrayObject|null normalize($object, $format = NULL, array $context = [])

{@inheritdoc}

Parameters

$object
$format
array $context

Return Value

array|string|int|float|bool|ArrayObject|null

mixed denormalize($data, $class, $format = NULL, array $context = [])

{@inheritdoc}

Parameters

$data
$class
$format
array $context

Return Value

mixed

abstract protected array prepareInput(array $data, ResourceType $resource_type, string $format, array $context)

Prepares the input data to create the entity.

Parameters

array $data

The input data to modify.

ResourceType $resource_type

Contains the info about the resource type.

string $format

Format the given data was extracted from.

array $context

Options available to the denormalizer.

Return Value

array

The modified input data.