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, PropertyAccessorInterface $propertyAccessor = null, PropertyTypeExtractorInterface $propertyTypeExtractor = null, ClassDiscriminatorResolverInterface $classDiscriminatorResolver = null) Sets the {@link ClassMetadataFactoryInterface} to use. | |
AbstractNormalizer | setCircularReferenceLimit(int $circularReferenceLimit) Set circular reference limit. | from AbstractNormalizer |
AbstractNormalizer | setCircularReferenceHandler(callable $circularReferenceHandler) Set circular reference handler. | from AbstractNormalizer |
AbstractNormalizer | setCallbacks(array $callbacks) Set normalization callbacks. | from AbstractNormalizer |
AbstractNormalizer | setIgnoredAttributes(array $ignoredAttributes) Set ignored attributes for normalization and denormalization. | from AbstractNormalizer |
bool | hasCacheableSupportsMethod() | |
bool | isCircularReference(object $object, array $context) Detects if the configured circular reference limit is reached. | from AbstractNormalizer |
mixed | handleCircularReference(object $object) Handles a circular reference. | from AbstractNormalizer |
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? | from AbstractNormalizer |
array | prepareForDenormalization(object|array $data) Normalizes the given data to an array. It's particularly useful during the denormalization process. | from AbstractNormalizer |
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. | from AbstractNormalizer |
object | instantiateObject(array $data, string $class, array $context, ReflectionClass $reflectionClass, array|bool $allowedAttributes, string $format = null) Instantiates an object using constructor parameters when needed. | from AbstractObjectNormalizer |
array | createChildContext(array $parentContext, string $attribute) | from AbstractNormalizer |
bool | supportsNormalization(mixed $data, string $format = null) Checks whether the given class is supported for normalization by this normalizer. | from AbstractObjectNormalizer |
array|string|int|float|bool | normalize(mixed $object, string $format = null, array $context = array()) Normalizes an object into a set of arrays/scalars. | from AbstractObjectNormalizer |
string[] | getAttributes(object $object, string|null $format = null, array $context) Gets and caches attributes for the given object, format and context. | from AbstractObjectNormalizer |
string[] | extractAttributes(object $object, string|null $format = null, array $context = array()) Extracts attributes to normalize from the class of the given object, format and context. | |
mixed | getAttributeValue(object $object, string $attribute, string|null $format = null, array $context = array()) Gets the attribute value. | |
void | setMaxDepthHandler(callable|null $handler) Sets a handler function that will be called when the max depth is reached. | from AbstractObjectNormalizer |
bool | supportsDenormalization(mixed $data, string $type, string $format = null) Checks whether the given class is supported for denormalization by this normalizer. | from AbstractObjectNormalizer |
object | denormalize(mixed $data, string $class, string $format = null, array $context = array()) Denormalizes data back into an object of the given class. | from AbstractObjectNormalizer |
| setAttributeValue(object $object, string $attribute, mixed $value, string|null $format = null, array $context = array()) Sets attribute value. | |
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
bool
supportsNormalization(mixed $data, string $format = null)
Checks whether the given class is supported for normalization by this normalizer.
Parameters
mixed | $data | Data to normalize |
string | $format | The format being (de-)serialized from or into |
Return Value
array|string|int|float|bool
normalize(mixed $object, string $format = null, array $context = array())
Normalizes an object into a set of arrays/scalars.
Parameters
mixed | $object | Object to normalize |
string | $format | Format the normalization result will be encoded as |
array | $context | Context options for the normalizer |
Return Value
array|string|int|float|bool | |
Exceptions
protected string[]
getAttributes(object $object, string|null $format = null, array $context)
Gets and caches attributes for the given object, format and context.
Parameters
object | $object | |
string|null | $format | |
array | $context | |
Return Value
Extracts attributes to normalize from the class of the given object, format and context.
Parameters
object | $object | |
string|null | $format | |
array | $context | |
Return Value
protected mixed
getAttributeValue(object $object, string $attribute, string|null $format = null, array $context = array())
Gets the attribute value.
Parameters
object | $object | |
string | $attribute | |
string|null | $format | |
array | $context | |
Return Value
void
setMaxDepthHandler(callable|null $handler)
Sets a handler function that will be called when the max depth is reached.
Parameters
Return Value
bool
supportsDenormalization(mixed $data, string $type, string $format = null)
Checks whether the given class is supported for denormalization by this normalizer.
Parameters
mixed | $data | Data to denormalize from |
string | $type | The class to which the data should be denormalized |
string | $format | The format being deserialized from |
Return Value
object
denormalize(mixed $data, string $class, string $format = null, array $context = array())
Denormalizes data back into an object of the given class.
Parameters
mixed | $data | Data to restore |
string | $class | The expected class to instantiate |
string | $format | Format the given data was extracted from |
array | $context | Options available to the denormalizer |
Return Value
Exceptions
protected
setAttributeValue(object $object, string $attribute, mixed $value, string|null $format = null, array $context = array())
Sets attribute value.
Parameters
object | $object | |
string | $attribute | |
mixed | $value | |
string|null | $format | |
array | $context | |