1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.opencastproject.composer.layout;
23
24 import static java.lang.String.format;
25 import static org.opencastproject.util.EqualsUtil.eq;
26 import static org.opencastproject.util.EqualsUtil.hash;
27
28
29 public final class AnchorOffset {
30 private final Anchor referenceAnchor;
31 private final Anchor referringAnchor;
32 private final Offset offset;
33
34
35
36
37
38
39
40
41
42
43
44 public AnchorOffset(Anchor referenceAnchor, Anchor referringAnchor, Offset offset) {
45 this.referenceAnchor = referenceAnchor;
46 this.referringAnchor = referringAnchor;
47 this.offset = offset;
48 }
49
50 public static AnchorOffset anchorOffset(Anchor referenceAnchor, Anchor referringAnchor, int xOffset, int yOffset) {
51 return new AnchorOffset(referenceAnchor, referringAnchor, new Offset(xOffset, yOffset));
52 }
53
54
55 public Anchor getReferenceAnchor() {
56 return referenceAnchor;
57 }
58
59
60 public Anchor getReferringAnchor() {
61 return referringAnchor;
62 }
63
64
65 public Offset getOffset() {
66 return offset;
67 }
68
69 @Override
70 public boolean equals(Object that) {
71 return (this == that) || (that instanceof AnchorOffset && eqFields((AnchorOffset) that));
72 }
73
74 private boolean eqFields(AnchorOffset that) {
75 return eq(offset, that.offset) && eq(referenceAnchor, that.referenceAnchor)
76 && eq(referringAnchor, that.referringAnchor);
77 }
78
79 @Override
80 public int hashCode() {
81 return hash(offset, referenceAnchor, referringAnchor);
82 }
83
84 @Override
85 public String toString() {
86 return format("AnchorOffset(referenceAnchor=%s,referringAnchor=%s,offset=%s)", referenceAnchor, referringAnchor,
87 offset);
88 }
89 }