1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/main/java/de/uapcore/lightpit/entities/Version.java Sun May 10 10:58:31 2020 +0200 1.3 @@ -0,0 +1,69 @@ 1.4 +package de.uapcore.lightpit.entities; 1.5 + 1.6 +import java.util.Objects; 1.7 + 1.8 +public class Version implements Comparable<Version> { 1.9 + 1.10 + private final int id; 1.11 + private String name; 1.12 + /** 1.13 + * If we do not want versions to be ordered lexicographically we may specify an order. 1.14 + */ 1.15 + private int ordinal; 1.16 + private VersionStatus status; 1.17 + 1.18 + public Version(int id) { 1.19 + this.id = id; 1.20 + } 1.21 + 1.22 + public int getId() { 1.23 + return id; 1.24 + } 1.25 + 1.26 + public String getName() { 1.27 + return name; 1.28 + } 1.29 + 1.30 + public void setName(String name) { 1.31 + this.name = name; 1.32 + } 1.33 + 1.34 + public int getOrdinal() { 1.35 + return ordinal; 1.36 + } 1.37 + 1.38 + public void setOrdinal(int ordinal) { 1.39 + this.ordinal = ordinal; 1.40 + } 1.41 + 1.42 + public VersionStatus getStatus() { 1.43 + return status; 1.44 + } 1.45 + 1.46 + public void setStatus(VersionStatus status) { 1.47 + this.status = status; 1.48 + } 1.49 + 1.50 + @Override 1.51 + public boolean equals(Object o) { 1.52 + if (this == o) return true; 1.53 + if (o == null || getClass() != o.getClass()) return false; 1.54 + Version version = (Version) o; 1.55 + return id == version.id; 1.56 + } 1.57 + 1.58 + @Override 1.59 + public int hashCode() { 1.60 + return Objects.hash(id); 1.61 + } 1.62 + 1.63 + @Override 1.64 + public int compareTo(Version version) { 1.65 + int ord = Integer.compare(this.ordinal, version.ordinal); 1.66 + if (ord == 0) { 1.67 + return this.name.compareToIgnoreCase(version.name); 1.68 + } else { 1.69 + return ord; 1.70 + } 1.71 + } 1.72 +}