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.hash;
26
27 import org.opencastproject.util.RequireUtil;
28
29
30 public final class Dimension {
31 private final int width;
32 private final int height;
33
34 public Dimension(int width, int height) {
35 this.width = RequireUtil.min(width, 0);
36 this.height = RequireUtil.min(height, 0);
37 }
38
39 public static Dimension dimension(int width, int height) {
40 return new Dimension(width, height);
41 }
42
43 public int getWidth() {
44 return width;
45 }
46
47 public int getHeight() {
48 return height;
49 }
50
51 @Override
52 public boolean equals(Object that) {
53 return (this == that) || (that instanceof Dimension && eqFields((Dimension) that));
54 }
55
56 private boolean eqFields(Dimension that) {
57 return width == that.width && height == that.height;
58 }
59
60 @Override
61 public int hashCode() {
62 return hash(width, height);
63 }
64
65 @Override
66 public String toString() {
67 return format("Dimension(%d,%d)", width, height);
68 }
69 }