/
Triple.java
42 lines (34 loc) · 1.14 KB
/
Triple.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package eu.heronnet.core.model;
import eu.heronnet.module.storage.util.HexUtil;
/**
* @author edoardocausarano
*/
public class Triple<T> {
private byte[] subject;
private Statement<T> statement;
public Triple(byte[] subject, Statement<T> statement) throws IllegalStateException {
if (subject == null || statement == null || statement.getPredicate() == null || statement.getPredicate().isEmpty() || statement.getObject() == null) {
throw new IllegalArgumentException("invalid statement or missing subject");
}
this.subject = subject;
this.statement = statement;
}
public byte[] getSubject() {
return subject;
}
public Statement<T> getStatement() {
return statement;
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder("Triple{");
sb.append("subject=");
if (subject == null) sb.append("null");
else {
sb.append('[').append(HexUtil.bytesToHex(subject)).append(']');
}
sb.append(", statement=").append(statement);
sb.append('}');
return sb.toString();
}
}