src/main/java/de/uapcore/lightpit/entities/Version.java

changeset 37
fecda0f466e6
child 38
cf85ef18f231
equal deleted inserted replaced
36:0f4f8f255c32 37:fecda0f466e6
1 package de.uapcore.lightpit.entities;
2
3 import java.util.Objects;
4
5 public class Version implements Comparable<Version> {
6
7 private final int id;
8 private String name;
9 /**
10 * If we do not want versions to be ordered lexicographically we may specify an order.
11 */
12 private int ordinal;
13 private VersionStatus status;
14
15 public Version(int id) {
16 this.id = id;
17 }
18
19 public int getId() {
20 return id;
21 }
22
23 public String getName() {
24 return name;
25 }
26
27 public void setName(String name) {
28 this.name = name;
29 }
30
31 public int getOrdinal() {
32 return ordinal;
33 }
34
35 public void setOrdinal(int ordinal) {
36 this.ordinal = ordinal;
37 }
38
39 public VersionStatus getStatus() {
40 return status;
41 }
42
43 public void setStatus(VersionStatus status) {
44 this.status = status;
45 }
46
47 @Override
48 public boolean equals(Object o) {
49 if (this == o) return true;
50 if (o == null || getClass() != o.getClass()) return false;
51 Version version = (Version) o;
52 return id == version.id;
53 }
54
55 @Override
56 public int hashCode() {
57 return Objects.hash(id);
58 }
59
60 @Override
61 public int compareTo(Version version) {
62 int ord = Integer.compare(this.ordinal, version.ordinal);
63 if (ord == 0) {
64 return this.name.compareToIgnoreCase(version.name);
65 } else {
66 return ord;
67 }
68 }
69 }

mercurial