package data; import java.util.ArrayList; import java.util.Arrays; import java.util.stream.Collectors; import javafx.collections.FXCollections; import javafx.collections.ObservableList; public enum GosTaxonomy { JAVNI("javni", "gos.T.J"), INFORMATIVNO_IZOBRAZEVALNI("informativno-izobraževalni", "gos.T.J.I"), RAZVEDRILNI("razvedrilni", "gos.T.J.R"), NEJAVNI("nejavni", "gos.T.N"), NEZASEBNI("nezasebni", "gos.T.N.N"), ZASEBNI("zasebni", "gos.T.N.Z"), OSEBNI_STIK("osebni stik", "gos.K.O"), TELEFON("telefon", "gos.K.P"), RADIO("radio", "gos.K.R"), TELEVIZIJA("televizija", "gos.K.T"); private final String name; private final String taxonomy; private static final ObservableList FOR_COMBO_BOX; static { ArrayList values = Arrays.stream(GosTaxonomy.values()).map(x -> x.name).collect(Collectors.toCollection(ArrayList::new)); FOR_COMBO_BOX = FXCollections.observableArrayList(values); } GosTaxonomy(String name, String taxonomy) { this.name = name; this.taxonomy = taxonomy; } public String toString() { return this.name; } public String getTaxonomnyString() { return this.taxonomy; } public static GosTaxonomy factory(String tax) { if (tax != null) { if (JAVNI.toString().equals(tax)) { return JAVNI; } if (INFORMATIVNO_IZOBRAZEVALNI.toString().equals(tax)) { return INFORMATIVNO_IZOBRAZEVALNI; } if (RAZVEDRILNI.toString().equals(tax)) { return RAZVEDRILNI; } if (NEJAVNI.toString().equals(tax)) { return NEJAVNI; } if (NEZASEBNI.toString().equals(tax)) { return NEZASEBNI; } if (ZASEBNI.toString().equals(tax)) { return ZASEBNI; } if (OSEBNI_STIK.toString().equals(tax)) { return OSEBNI_STIK; } if (TELEFON.toString().equals(tax)) { return TELEFON; } if (RADIO.toString().equals(tax)) { return RADIO; } if (TELEVIZIJA.toString().equals(tax)) { return TELEVIZIJA; } } return null; } public static ObservableList getForComboBox() { return FOR_COMBO_BOX; } }