1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.rdf.api;
19
20 import java.util.Arrays;
21 import java.util.List;
22 import java.util.Objects;
23 import java.util.Optional;
24
25 class DummyQuad implements Quad {
26 @Override
27 public Optional<BlankNodeOrIRI> getGraphName() {
28 return Optional.empty();
29 }
30 @Override
31 public BlankNodeOrIRI getSubject() {
32 return new DummyIRI(1);
33 }
34 @Override
35 public IRI getPredicate() {
36 return new DummyIRI(2);
37 }
38 @Override
39 public RDFTerm getObject() {
40 return new DummyIRI(3);
41 }
42
43 private static List<RDFTerm> quadList(final Quad q) {
44 return Arrays.asList(
45 q.getGraphName().orElse(null),
46 q.getSubject(),
47 q.getPredicate(),
48 q.getObject());
49 }
50
51 @Override
52 public boolean equals(final Object obj) {
53 if (!(obj instanceof Quad)) {
54 return false;
55 }
56 return quadList(this).equals(quadList((Quad) obj));
57 }
58
59 @Override
60 public int hashCode() {
61 return Objects.hash(getSubject(), getPredicate(), getObject(), getGraphName());
62 }
63 }