package org.voidsink.kussslib; public enum Grade { G1(1, true, true), G2(2, true, true), G3(3, true, true), G4(4, true, true), G5(5, false, true), GET(1, true, false), GB(1, true, false), GAB(1, true, false); // TODO add "nicht teilgenommen" NT(5, false, false) private final boolean isPositive; private final boolean isNumber; private int value; private Grade(int value, boolean isPositive, boolean isNumber) { this.value = value; this.isPositive = isPositive; this.isNumber = isNumber; } public int getValue() { return value; } public boolean isNumber() { return isNumber; } public boolean isPositive() { return isPositive; } public static Grade parseGrade(String text) { text = text.trim().toLowerCase(); if (text.equals("sehr gut")) { return G1; } else if (text.equals("gut")) { return G2; } else if (text.equals("befriedigend")) { return G3; } else if (text.equals("gen�gend")) { return G4; } else if (text.equals("nicht gen�gend")) { return G5; } else if (text.equals("mit erfolg teilgenommen")) { return GET; } else if (text.equals("bestanden")) { return GB; } else if (text.equals("mit auszeichnung bestanden")) { return GAB; } else { return null; } } public static Grade parseGradeType(int ordinal) { return Grade.values()[ordinal]; } }