package com.andegna.chrono;
import java.io.Serializable;
import java.time.DateTimeException;
import java.time.chrono.Era;
/**
*
* @author Sam As End
*/
public enum EthiopianEra implements Era, Serializable {
AMETE_ALEM(0, -285019),
AMETE_MIHRET(1, 1723856);
private final int value;
private final int epochOffset;
private EthiopianEra(int value, int epochOffset) {
this.value = value;
this.epochOffset = epochOffset;
}
@Override
public int getValue() {
return value;
}
public int getEpochOffset() {
return epochOffset;
}
public static EthiopianEra era(int prolepticYear) {
if (prolepticYear > 0) {
return AMETE_MIHRET;
} else {
return AMETE_ALEM;
}
}
public static EthiopianEra eraOf(int eraValue) {
switch (eraValue) {
case 0:
return EthiopianEra.AMETE_ALEM;
case 1:
return EthiopianEra.AMETE_MIHRET;
}
throw new DateTimeException("invalid Ethiopian era");
}
}