Interface ContractResolverInterface
Defines the interface for a contract resolver.
A contract resolver allows you to overlay your own mapper over the pipeline for each node visited by the serializer and deserializer. While setting up your own mapper may sound complicated, there are the ContractObjectMapper and ContractMemberMapper classes that allow you to handset the mapper values without needing to write your own mappers.
For an example contract resolver see the PropertyNameContractResolver class.
Direct known implementers
Indirect known implementers
OneOfZero\Json\ContractResolvers\PropertyNameContractResolver
Namespace: OneOfZero\Json\ContractResolvers
Located at ContractResolvers/ContractResolverInterface.php
Located at ContractResolvers/ContractResolverInterface.php
Methods summary
public
OneOfZero\Json\Mappers\ObjectMapperInterface|OneOfZero\Json\Mappers\Contract\ContractObjectMapper|null
|
#
createSerializingObjectContract( OneOfZero\Json\Nodes\AbstractObjectNode $object )
Should return a mapper for the provided object node. |
public
OneOfZero\Json\Mappers\ObjectMapperInterface|OneOfZero\Json\Mappers\Contract\ContractObjectMapper|null
|
#
createDeserializingObjectContract( OneOfZero\Json\Nodes\AbstractObjectNode $object )
Should return a mapper for the provided object node. |
public
OneOfZero\Json\Mappers\MemberMapperInterface|OneOfZero\Json\Mappers\Contract\ContractMemberMapper|null
|
#
createSerializingMemberContract( OneOfZero\Json\Nodes\MemberNode $member )
Should return a mapper for the provided member node. |
public
OneOfZero\Json\Mappers\MemberMapperInterface|OneOfZero\Json\Mappers\Contract\ContractMemberMapper|null
|
#
createDeserializingMemberContract( OneOfZero\Json\Nodes\MemberNode $member )
Should return a mapper for the provided member node. |