1<?php
2
3declare(strict_types=1);
4
5namespace JMS\Serializer\Accessor;
6
7use JMS\Serializer\DeserializationContext;
8use JMS\Serializer\Metadata\PropertyMetadata;
9use JMS\Serializer\SerializationContext;
10
11/**
12 * @author Asmir Mustafic <goetas@gmail.com>
13 */
14interface AccessorStrategyInterface
15{
16    /**
17     * @return mixed
18     */
19    public function getValue(object $object, PropertyMetadata $metadata, SerializationContext $context);
20
21    /**
22     * @param mixed $value
23     */
24    public function setValue(object $object, $value, PropertyMetadata $metadata, DeserializationContext $context): void;
25}
26