1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.rdf.simple;
19
20 import org.apache.commons.rdf.api.BlankNodeOrIRI;
21 import org.apache.commons.rdf.api.IRI;
22 import org.apache.commons.rdf.api.RDFTerm;
23 import org.apache.commons.rdf.api.Triple;
24
25 import java.util.Objects;
26
27
28
29
30 final class TripleImpl implements Triple {
31
32 private final BlankNodeOrIRI subject;
33 private final IRI predicate;
34 private final RDFTerm object;
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 public TripleImpl(final BlankNodeOrIRI subject, final IRI predicate, final RDFTerm object) {
50 this.subject = Objects.requireNonNull(subject);
51 this.predicate = Objects.requireNonNull(predicate);
52 this.object = Objects.requireNonNull(object);
53 }
54
55 @Override
56 public BlankNodeOrIRI getSubject() {
57 return subject;
58 }
59
60 @Override
61 public IRI getPredicate() {
62 return predicate;
63 }
64
65 @Override
66 public RDFTerm getObject() {
67 return object;
68 }
69
70 @Override
71 public String toString() {
72 return getSubject().ntriplesString() + " " + getPredicate().ntriplesString() + " "
73 + getObject().ntriplesString() + " .";
74 }
75
76 @Override
77 public int hashCode() {
78 return Objects.hash(subject, predicate, object);
79 }
80
81 @Override
82 public boolean equals(final Object obj) {
83 if (!(obj instanceof Triple)) {
84 return false;
85 }
86 final Triple other = (Triple) obj;
87 return getSubject().equals(other.getSubject()) && getPredicate().equals(other.getPredicate())
88 && getObject().equals(other.getObject());
89 }
90
91 }