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 Taxonomy { // GOS JAVNI("javni", "T.J", "gos"), INFORMATIVNO_IZOBRAZEVALNI("informativno-izobraževalni", "T.J.I", "gos"), RAZVEDRILNI("razvedrilni", "T.J.R", "gos"), NEJAVNI("nejavni", "T.N", "gos"), NEZASEBNI("nezasebni", "T.N.N", "gos"), ZASEBNI("zasebni", "T.N.Z", "gos"), OSEBNI_STIK("osebni stik", "K.O", "gos"), TELEFON("telefon", "K.P", "gos"), RADIO("radio", "K.R", "gos"), TELEVIZIJA("televizija", "K.T", "gos"), // Gigafida KNJIZNO("knjižno", "T.K", "gigafida"), LEPOSLOVNO("leposlovno", "T.K.L", "gigafida"), STROKOVNO("strokovno", "T.K.S", "gigafida"), PERIODICNO("periodično", "T.P", "gigafida"), CASOPIS("časopis", "T.P.C", "gigafida"), REVIJA("revija", "T.P.R", "gigafida"), INTERNET("internet", "I", "gigafida"), SSJ_TISK("tisk", "SSJ.T", "gigafida"), SSJ_KNJIZNO("opis", "identifikator", "gigafida"), SSJ_LEPOSLOVNO("opis", "identifikator", "gigafida"), SSJ_STROKOVNO("opis", "identifikator", "gigafida"), SSJ_PERIODICNO("opis", "identifikator", "gigafida"), SSJ_CASOPIS("opis", "identifikator", "gigafida"), SSJ_REVIJA("opis", "identifikator", "gigafida"), SSJ_DRUGO("opis", "identifikator", "gigafida"), SSJ_INTERNET("opis", "identifikator", "gigafida"), FT_P_PRENOSNIK("opis", "identifikator", "gigafida"), FT_P_GOVORNI("opis", "identifikator", "gigafida"), FT_P_ELEKTRONSKI("opis", "identifikator", "gigafida"), FT_P_PISNI("opis", "identifikator", "gigafida"), FT_P_OBJAVLJENO("opis", "identifikator", "gigafida"), FT_P_KNJIZNO("opis", "identifikator", "gigafida"), FT_P_PERIODICNO("opis", "identifikator", "gigafida"), FT_P_CASOPISNO("opis", "identifikator", "gigafida"), FT_P_DNEVNO("opis", "identifikator", "gigafida"), FT_P_VECKRAT_TEDENSKO("opis", "identifikator", "gigafida"), // FT_P_TEDENSKO("opis", "identifikator", "gigafida"), FT_P_REVIALNO("opis", "identifikator", "gigafida"), FT_P_TEDENSKO("opis", "identifikator", "gigafida"), FT_P_STIRINAJSTDNEVNO("opis", "identifikator", "gigafida"), FT_P_MESECNO("opis", "identifikator", "gigafida"), FT_P_REDKEJE_KOT_MESECNO("opis", "identifikator", "gigafida"), FT_P_OBCASNO("opis", "identifikator", "gigafida"), FT_P_NEOBJAVLJENO("opis", "identifikator", "gigafida"), FT_P_JAVNO("opis", "identifikator", "gigafida"), FT_P_INTERNO("opis", "identifikator", "gigafida"), FT_P_ZASEBNO("opis", "identifikator", "gigafida"), FT_ZVRST("opis", "identifikator", "gigafida"), FT_UMETNOSTNA("opis", "identifikator", "gigafida"), FT_PESNISKA("opis", "identifikator", "gigafida"), FT_PROZNA("opis", "identifikator", "gigafida"), FT_DRAMSKA("opis", "identifikator", "gigafida"), FT_NEUMETNOSTNA("opis", "identifikator", "gigafida"), FT_STROKOVNA("opis", "identifikator", "gigafida"), FT_HID("opis", "identifikator", "gigafida"), FT_NIT("opis", "identifikator", "gigafida"), FT_NESTROKOVNA("opis", "identifikator", "gigafida"), FT_PRAVNA("opis", "identifikator", "gigafida"), FT_LEKTORIRANO("opis", "identifikator", "gigafida"), FT_DA("opis", "identifikator", "gigafida"), FT_NE("opis", "identifikator", "gigafida"); private final String name; private final String taxonomy; private final String corpus; Taxonomy(String name, String taxonomy, String corpusType) { this.name = name; this.taxonomy = taxonomy; this.corpus = corpusType; } public String toString() { return this.name; } public String getTaxonomnyString() { return this.taxonomy; } public static Taxonomy factory(String tax) { if (tax != null) { // GOS 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; } // Gigafida // if (TISK.toString().equals(tax)) { // return TISK; // } if (KNJIZNO.toString().equals(tax)) { return KNJIZNO; } if (LEPOSLOVNO.toString().equals(tax)) { return LEPOSLOVNO; } if (STROKOVNO.toString().equals(tax)) { return STROKOVNO; } if (PERIODICNO.toString().equals(tax)) { return PERIODICNO; } if (CASOPIS.toString().equals(tax)) { return CASOPIS; } if (REVIJA.toString().equals(tax)) { return REVIJA; } if (INTERNET.toString().equals(tax)) { return INTERNET; } } return null; } public static ObservableList getDefaultForComboBox(String corpusType) { ArrayList values = Arrays.stream(Taxonomy.values()) .filter(x -> x.corpus.equals(corpusType)) .map(x -> x.name) .collect(Collectors.toCollection(ArrayList::new)); return FXCollections.observableArrayList(values); } public static ObservableList getDefaultForComboBox(CorpusType corpusType) { return getDefaultForComboBox(corpusType.toString()); } }