1<?php
2
3declare(strict_types=1);
4
5namespace JMS\Serializer\Visitor\Factory;
6
7use JMS\Serializer\JsonDeserializationVisitor;
8use JMS\Serializer\Visitor\DeserializationVisitorInterface;
9
10/**
11 * @author Asmir Mustafic <goetas@gmail.com>
12 */
13final class JsonDeserializationVisitorFactory implements DeserializationVisitorFactory
14{
15    /**
16     * @var int
17     */
18    private $options = 0;
19
20    /**
21     * @var int
22     */
23    private $depth = 512;
24
25    public function getVisitor(): DeserializationVisitorInterface
26    {
27        return new JsonDeserializationVisitor($this->options, $this->depth);
28    }
29
30    public function setOptions(int $options): self
31    {
32        $this->options = $options;
33        return $this;
34    }
35
36    public function setDepth(int $depth): self
37    {
38        $this->depth = $depth;
39        return $this;
40    }
41}
42