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

package de.uapcore.lightpit.entities;

import java.util.Objects;

public class Version implements Comparable<Version> {

    private final int id;
    private String name;
    /**
     * If we do not want versions to be ordered lexicographically we may specify an order.
     */
    private int ordinal;
    private VersionStatus status;

    public Version(int id) {
        this.id = id;
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getOrdinal() {
        return ordinal;
    }

    public void setOrdinal(int ordinal) {
        this.ordinal = ordinal;
    }

    public VersionStatus getStatus() {
        return status;
    }

    public void setStatus(VersionStatus status) {
        this.status = status;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Version version = (Version) o;
        return id == version.id;
    }

    @Override
    public int hashCode() {
        return Objects.hash(id);
    }

    @Override
    public int compareTo(Version version) {
        int ord = Integer.compare(this.ordinal, version.ordinal);
        if (ord == 0) {
            return this.name.compareToIgnoreCase(version.name);
        } else {
            return ord;
        }
    }
}

mercurial