| object|null | extractObjectToPopulate(string $class, array $context, string $key = null) Extract the object_to_populate field from the context if it exists and is an instance of the provided $class. | from ObjectToPopulateTrait |
| | setSerializer(SerializerInterface $serializer) Sets the serializer. | from SerializerAwareTrait |
| | __construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null) Sets the {@link ClassMetadataFactoryInterface} to use. | |
| AbstractNormalizer | setCircularReferenceLimit(int $circularReferenceLimit) Set circular reference limit. | |
| AbstractNormalizer | setCircularReferenceHandler(callable $circularReferenceHandler) Set circular reference handler. | |
| AbstractNormalizer | setCallbacks(array $callbacks) Set normalization callbacks. | |
| AbstractNormalizer | setIgnoredAttributes(array $ignoredAttributes) Set ignored attributes for normalization and denormalization. | |
| bool | hasCacheableSupportsMethod() | |
| bool | isCircularReference(object $object, array $context) Detects if the configured circular reference limit is reached. | |
| mixed | handleCircularReference(object $object) Handles a circular reference. | |
| string[]|AttributeMetadataInterface[]|bool | getAllowedAttributes(string|object $classOrObject, array $context, bool $attributesAsString = false) Gets attributes to normalize using groups. | |
| bool | isAllowedAttribute(object|string $classOrObject, string $attribute, string|null $format = null, array $context = array()) Is this attribute allowed? | |
| array | prepareForDenormalization(object|array $data) Normalizes the given data to an array. It's particularly useful during the denormalization process. | |
| ReflectionMethod|null | getConstructor(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes) Returns the method to use to construct an object. This method must be either the object constructor or static. | |
| object | instantiateObject(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes, string $format = null) Instantiates an object using constructor parameters when needed. | |
| array | createChildContext(array $parentContext, string $attribute) | |
Extract the object_to_populate field from the context if it exists and is an instance of the provided $class.
Parameters
| string | $class | The class the object should be |
| array | $context | The denormalization context |
| string | $key | They in which to look for the object to populate. Keeps backwards compatibility with AbstractNormalizer. |
Return Value
| object|null | an object if things check out, null otherwise |
Sets the serializer.
Parameters
Sets the {@link ClassMetadataFactoryInterface} to use.
Parameters
AbstractNormalizer
setCircularReferenceLimit(int $circularReferenceLimit)
Set circular reference limit.
Parameters
| int | $circularReferenceLimit | Limit of iterations for the same object |
Return Value
AbstractNormalizer
setCircularReferenceHandler(callable $circularReferenceHandler)
Set circular reference handler.
Parameters
| callable | $circularReferenceHandler | |
Return Value
Set normalization callbacks.
Parameters
| array | $callbacks | Help normalize the result |
Return Value
Exceptions
AbstractNormalizer
setIgnoredAttributes(array $ignoredAttributes)
Set ignored attributes for normalization and denormalization.
Parameters
Return Value
bool
hasCacheableSupportsMethod()
Return Value
protected bool
isCircularReference(object $object, array $context)
Detects if the configured circular reference limit is reached.
Parameters
| object | $object | |
| array | $context | |
Return Value
Exceptions
protected mixed
handleCircularReference(object $object)
Handles a circular reference.
If a circular reference handler is set, it will be called. Otherwise, a {@class CircularReferenceException} will be thrown.
Parameters
Return Value
Exceptions
protected string[]|AttributeMetadataInterface[]|bool
getAllowedAttributes(string|object $classOrObject, array $context, bool $attributesAsString = false)
Gets attributes to normalize using groups.
Parameters
| string|object | $classOrObject | |
| array | $context | |
| bool | $attributesAsString | If false, return an array of {@link AttributeMetadataInterface} |
Return Value
Exceptions
| LogicException | if the 'allow_extra_attributes' context variable is false and no class metadata factory is provided |
protected bool
isAllowedAttribute(object|string $classOrObject, string $attribute, string|null $format = null, array $context = array())
Is this attribute allowed?
Parameters
| object|string | $classOrObject | |
| string | $attribute | |
| string|null | $format | |
| array | $context | |
Return Value
protected array
prepareForDenormalization(object|array $data)
Normalizes the given data to an array. It's particularly useful during the denormalization process.
Parameters
Return Value
protected ReflectionMethod|null
getConstructor(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes)
Returns the method to use to construct an object. This method must be either the object constructor or static.
Parameters
| array | $data | |
| string | $class | |
| array | $context | |
| ReflectionClass | $reflectionClass | |
| array|bool | $allowedAttributes | |
Return Value
protected object
instantiateObject(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes, string $format = null)
Instantiates an object using constructor parameters when needed.
This method also allows to denormalize data into an existing object if it is present in the context with the object_to_populate. This object is removed from the context before being returned to avoid side effects when recursively normalizing an object graph.
Parameters
| array | $data | |
| string | $class | |
| array | $context | |
| ReflectionClass | $reflectionClass | |
| array|bool | $allowedAttributes | |
| string | $format | |
Return Value
Exceptions
protected array
createChildContext(array $parentContext, string $attribute)
Parameters
| array | $parentContext | |
| string | $attribute | |
Return Value