package javastory.channel.client;
/**
*
* @author shoftee
*/
public enum MemberRank {
MASTER(1), JR_MASTER(2), MEMBER_HIGH(3), MEMBER_MIDDLE(4), MEMBER_LOW(5);
private byte ordinal;
private MemberRank(final int ordinal) {
this.ordinal = (byte) ordinal;
}
public byte asNumber() {
return this.ordinal;
}
public boolean isSuperior(final MemberRank other) {
// Regular members have the same priviledges;
// Jr. Masters are equal (not superior) to other Jr. Masters.
return this.isMaster() && this.ordinal < other.ordinal;
}
public boolean isMaster() {
return this.equals(MemberRank.JR_MASTER) || this.equals(MemberRank.MASTER);
}
public static MemberRank fromNumber(final int ordinal) {
switch (ordinal) {
case 1:
return MASTER;
case 2:
return JR_MASTER;
case 3:
return MEMBER_HIGH;
case 4:
return MEMBER_MIDDLE;
case 5:
return MEMBER_LOW;
default:
return null;
}
}
}