TripleNode::getSubject()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 3
c 0
b 0
f 0
ccs 2
cts 2
cp 1
rs 10
nc 1
cc 1
eloc 2
nop 0
crap 1
1
<?php
2
3
namespace PPP\DataModel;
4
/**
5
 * A (subject, predicate, object) triple.
6
 *
7
 * @licence AGPLv3+
8
 * @author Thomas Pellissier Tanon
9
 */
10
class TripleNode extends AbstractNode {
11
12
	/**
13
	 * @var AbstractNode
14
	 */
15
	private $subject;
16
17
	/**
18
	 * @var AbstractNode
19
	 */
20
	private $predicate;
21
22
	/**
23
	 * @var AbstractNode
24
	 */
25
	private $object;
26
27
	/**
28
	 * @param AbstractNode $subject
29
	 * @param AbstractNode $predicate
30
	 * @param AbstractNode $object
31
	 */
32 5
	public function __construct(AbstractNode $subject, AbstractNode $predicate, AbstractNode $object) {
33 5
		$this->subject = $subject;
34 5
		$this->predicate = $predicate;
35 5
		$this->object = $object;
36 5
	}
37
38
	/**
39
	 * @return AbstractNode
40
	 */
41 1
	public function getSubject() {
42 1
		return $this->subject;
43
	}
44
45
	/**
46
	 * @return AbstractNode
47
	 */
48 1
	public function getPredicate() {
49 1
		return $this->predicate;
50
	}
51
52
	/**
53
	 * @return AbstractNode
54
	 */
55 1
	public function getObject() {
56 1
		return $this->object;
57
	}
58
59
	/**
60
	 * @see AbstractNode::getType
61
	 */
62 1
	public function getType() {
63 1
		return 'triple';
64
	}
65
66
	/**
67
	 * @see AbstractNode::equals
68
	 */
69 5
	public function equals($target) {
70 5
		return $target instanceof self &&
71 5
			$this->subject->equals($target->subject) &&
72 5
			$this->predicate->equals($target->predicate) &&
73 5
			$this->object->equals($target->object);
74
	}
75
}
76