Metadata::getClass()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php
2
3
namespace Happyr\SerializerBundle\Metadata;
4
5
/**
6
 * A class to help build up metadata.
7
 *
8
 * @author Tobias Nyholm <[email protected]>
9
 */
10
class Metadata
11
{
12
    /**
13
     * @var string fqn of the class
14
     */
15
    private $class;
16
17
    /**
18
     * @var array
19
     */
20
    private $classMetadata = [];
21
22
    /**
23
     * @var array
24
     */
25
    private $methodMetadata = [];
26
27
    /**
28
     * @var array
29
     */
30
    private $propertyMetadata = [];
31
32
    /**
33
     * @param string $class
34
     */
35 23
    public function __construct($class)
36
    {
37 23
        $this->class = $class;
38 23
    }
39
40
    /**
41
     * @param array $metadata
42
     */
43 23
    public static function convertToStrings(array $metadata)
44
    {
45 23
        $data = [];
46
47
        /** @var Metadata $m */
48 23
        foreach ($metadata as $m) {
49 23
            $data[$m->getClass()] = ['fqcn' => $m->getClass(), 'class' => $m->getClassMetadata(), 'property' => $m->getPropertyMetadata(), 'method' => $m->getMethodMetadata()];
50 23
        }
51
52 23
        return $data;
53
    }
54
55
    /**
56
     * @return string
57
     */
58 23
    public function getClass()
59
    {
60 23
        return $this->class;
61
    }
62
63
    /**
64
     * @param string $class
65
     *
66
     * @return Metadata
67
     */
68
    public function setClass($class)
69
    {
70
        $this->class = $class;
71
72
        return $this;
73
    }
74
75
    /**
76
     * @return array
77
     */
78 23
    public function getClassMetadata()
79
    {
80 23
        return $this->classMetadata;
81
    }
82
83
    /**
84
     * @param $classMetadata
85
     *
86
     * @return $this
87
     */
88 23
    public function setClassMetadata($classMetadata)
89
    {
90 23
        $this->classMetadata = $classMetadata;
91
92 23
        return $this;
93
    }
94
95
    /**
96
     * @return array
97
     */
98 23
    public function getMethodMetadata()
99
    {
100 23
        return $this->methodMetadata;
101
    }
102
103
    /**
104
     * @param $name
105
     * @param $methodMetadata
106
     *
107
     * @return $this
108
     */
109 23
    public function setMethodMetadata($name, $methodMetadata)
110
    {
111 23
        $this->methodMetadata[$name] = $methodMetadata;
112
113 23
        return $this;
114
    }
115
116
    /**
117
     * @return array
118
     */
119 23
    public function getPropertyMetadata()
120
    {
121 23
        return $this->propertyMetadata;
122
    }
123
124
    /**
125
     * @param $name
126
     * @param $properyMetadata
127
     *
128
     * @return $this
129
     */
130 23
    public function setPropertyMetadata($name, $properyMetadata)
131
    {
132 23
        $this->propertyMetadata[$name] = $properyMetadata;
133
134 23
        return $this;
135
    }
136
}
137