Completed
Push — develop ( bc21b0...0bdfd4 )
by Adam
24:26 queued 09:29
created

Classifier   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 73
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 6
lcom 0
cbo 1
dl 0
loc 73
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A create() 0 10 2
A getClasses() 0 4 1
A getClassifierId() 0 4 1
A getName() 0 4 1
1
<?php
2
3
namespace IBM\Watson\VisualRecognition\Model;
4
5
use IBM\Watson\Common\Model\ApiResponseInterface;
6
use IBM\Watson\VisualRecognition\Model\Classifier\Classification;
7
8
class Classifier implements ApiResponseInterface
9
{
10
    /**
11
     * @var array
12
     */
13
    private $classes;
14
15
    /**
16
     * @var string
17
     */
18
    private $classifierId;
19
20
    /**
21
     * @var string
22
     */
23
    private $name;
24
25
    /**
26
     * Classifier constructor.
27
     *
28
     * @param $classes
29
     * @param $classifierId
30
     * @param $name
31
     */
32
    public function __construct($classes, $classifierId, $name)
33
    {
34
        $this->classes = $classes;
35
        $this->classifierId = $classifierId;
36
        $this->name = $name;
37
    }
38
39
    /**
40
     * Create Classifier
41
     *
42
     * @param array $data
43
     *
44
     * @return \IBM\Watson\VisualRecognition\Model\Classifier
45
     */
46
    public static function create(array $data)
47
    {
48
        $classes = [];
49
50
        foreach ($data['classes'] as $class) {
51
            $classes[] = Classification::create($class);
52
        }
53
54
        return new self($classes, $data['classifier_id'], $data['name']);
55
    }
56
57
    /**
58
     * @return array
59
     */
60
    public function getClasses()
61
    {
62
        return $this->classes;
63
    }
64
65
    /**
66
     * @return string
67
     */
68
    public function getClassifierId()
69
    {
70
        return $this->classifierId;
71
    }
72
73
    /**
74
     * @return string
75
     */
76
    public function getName()
77
    {
78
        return $this->name;
79
    }
80
}
81