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

Sun, 10 May 2020 10:58:31 +0200

author
Mike Becker <universe@uap-core.de>
date
Sun, 10 May 2020 10:58:31 +0200
changeset 37
fecda0f466e6
child 38
cf85ef18f231
permissions
-rw-r--r--

adds data model for projects and versions

     1 package de.uapcore.lightpit.entities;
     3 import java.util.Objects;
     5 public class Version implements Comparable<Version> {
     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;
    15     public Version(int id) {
    16         this.id = id;
    17     }
    19     public int getId() {
    20         return id;
    21     }
    23     public String getName() {
    24         return name;
    25     }
    27     public void setName(String name) {
    28         this.name = name;
    29     }
    31     public int getOrdinal() {
    32         return ordinal;
    33     }
    35     public void setOrdinal(int ordinal) {
    36         this.ordinal = ordinal;
    37     }
    39     public VersionStatus getStatus() {
    40         return status;
    41     }
    43     public void setStatus(VersionStatus status) {
    44         this.status = status;
    45     }
    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     }
    55     @Override
    56     public int hashCode() {
    57         return Objects.hash(id);
    58     }
    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