1 package io.github.robertograham.rleparser.domain;
2
3 import io.github.robertograham.rleparser.domain.enumeration.Status;
4
5 import java.util.Objects;
6
7 public class StatusRun {
8
9 private final int length;
10 private final Status status;
11 private final Coordinate origin;
12
13 public StatusRun(int length, Status status, Coordinate origin) {
14 this.length = length;
15 this.status = status;
16 this.origin = origin;
17 }
18
19 public int getLength() {
20 return length;
21 }
22
23 public Status getStatus() {
24 return status;
25 }
26
27 public Coordinate getOrigin() {
28 return origin;
29 }
30
31 @Override
32 public String toString() {
33 return "StatusRun{" +
34 "length=" + length +
35 ", status=" + status +
36 ", origin=" + origin +
37 '}';
38 }
39
40 @Override
41 public boolean equals(Object object) {
42 if (this == object)
43 return true;
44
45 if (!(object instanceof StatusRun))
46 return false;
47
48 StatusRun statusRun = (StatusRun) object;
49
50 return length == statusRun.length &&
51 status == statusRun.status &&
52 Objects.equals(origin, statusRun.origin);
53 }
54
55 @Override
56 public int hashCode() {
57 return Objects.hash(length, status, origin);
58 }
59 }