package no.valg.valgnatt.database.domene;

/**
 * MSI okt 2015:
 * En viktig nøkkel i flere maps i GrunnlagsdataCache. Jeg ønsker generelt å
 * alltid forholde meg til denne nøkkelen i alle operasjoner mot grunnlagsdata,
 * fordi det vil sikre separasjon av valgene dersom man kjører flere valg
 * samtidig.
 */
public class ValgTypeAar implements Comparable<ValgTypeAar> {
    private ValgType valgType;
    private int valgAar;

    public ValgTypeAar(ValgType valgType, int valgAar) {
        this.valgType = valgType;
        this.valgAar = valgAar;
    }

    public ValgType getValgType() {
        return valgType;
    }

    public int getValgAar() {
        return valgAar;
    }

    @Override
    public String toString() {
        return this.valgType + "-" + valgAar;
    }

    @Override
    public boolean equals(Object o) {
        return o != null && o.getClass() == ValgTypeAar.class || o.toString().equals(toString());
    }

    @Override
    public int hashCode() {
        return toString().hashCode();
    }

    @Override
    public int compareTo(ValgTypeAar vta) {
        return toString().compareTo(vta.toString());
    }
}
