Code Duplication    Length = 45-45 lines in 2 locations

Rest/Decoder/DecoderProvider.php 1 location

@@ 21-65 (lines=45) @@
18
 *
19
 * @author Mohamed Amine Fattouch <[email protected]>
20
 */
21
class DecoderProvider extends ContainerAwareTrait implements DecoderProviderInterface
22
{
23
    /**
24
     * @var array
25
     */
26
    protected $decoders;
27
28
    /**
29
     * The constructor class.
30
     *
31
     * @param array $decoders List of decoders (default empty).
32
     */
33
    public function __construct(array $decoders = [])
34
    {
35
        $this->decoders = $decoders;
36
    }
37
38
    /**
39
     * @param string $format The format of decoder.
40
     *
41
     * @throws \InvalidArgumentException
42
     *
43
     * @return DecoderInterface
44
     */
45
    public function getDecoder($format)
46
    {
47
        if ($this->supports($format) === false) {
48
            throw new \InvalidArgumentException(sprintf("Format '%s' is not supported.", $format));
49
        }
50
51
        return $this->container->get($this->decoders[$format]);
52
    }
53
54
    /**
55
     * Tests whether a decoder for a given format exists.
56
     *
57
     * @param string $format The format.
58
     *
59
     * @return boolean
60
     */
61
    protected function supports($format)
62
    {
63
        return isset($this->decoders[$format]);
64
    }
65
}
66

Rest/Encoder/EncoderProvider.php 1 location

@@ 21-65 (lines=45) @@
18
 *
19
 * @author Mohamed Amine Fattouch <[email protected]>
20
 */
21
class EncoderProvider extends ContainerAwareTrait implements EncoderProviderInterface
22
{
23
    /**
24
     * @var array
25
     */
26
    protected $encoders;
27
28
    /**
29
     * The constructor class.
30
     *
31
     * @param array $encoders List of encoders (default empty).
32
     */
33
    public function __construct(array $encoders = [])
34
    {
35
        $this->encoders = $encoders;
36
    }
37
38
    /**
39
     * @param string $format The format of encoder.
40
     *
41
     * @throws \InvalidArgumentException
42
     *
43
     * @return EncoderInterface
44
     */
45
    public function getEncoder($format)
46
    {
47
        if ($this->supports($format) === false) {
48
            throw new \InvalidArgumentException(sprintf("Format '%s' is not supported.", $format));
49
        }
50
51
        return $this->container->get($this->encoders[$format]);
52
    }
53
54
    /**
55
     * Tests whether a encoder for a given format exists.
56
     *
57
     * @param string $format The format.
58
     *
59
     * @return boolean
60
     */
61
    protected function supports($format)
62
    {
63
        return isset($this->encoders[$format]);
64
    }
65
}
66