1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.opencastproject.assetmanager.api;
22
23 import static java.lang.String.format;
24
25 import java.util.Objects;
26
27 import javax.annotation.ParametersAreNonnullByDefault;
28
29
30
31
32
33 @ParametersAreNonnullByDefault
34 public class Property {
35 private final PropertyId id;
36 private final Value value;
37
38 public Property(PropertyId id, Value value) {
39 this.id = id;
40 this.value = value;
41 }
42
43 public static Property mk(PropertyId id, Value value) {
44 return new Property(id, value);
45 }
46
47 public PropertyId getId() {
48 return id;
49 }
50
51 public Value getValue() {
52 return value;
53 }
54
55 @Override public int hashCode() {
56 return Objects.hash(id, value);
57 }
58
59 @Override public boolean equals(Object that) {
60 return (this == that) || (that instanceof Property && eqFields((Property) that));
61 }
62
63 private boolean eqFields(Property that) {
64 return Objects.equals(id, that.id) && Objects.equals(value, that.value);
65 }
66
67 @Override public String toString() {
68 return format("Property(%s=%s)", id, value);
69 }
70 }