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