Klasse CoreTypeDataManager<T extends CoreTypeData,U extends CoreType<T,U>>

java.lang.Object
de.svws_nrw.asd.utils.CoreTypeDataManager<T,U>
Typparameter:
T - der Type der geladenen Daten
U - der Core-Type

public class CoreTypeDataManager<T extends CoreTypeData,U extends CoreType<T,U>> extends Object
Ein Manager, um die Daten eines Core-Types zu verwalten, die aus einer JSON-Datei geladen wurden.
  • Konstruktordetails

    • CoreTypeDataManager

      public CoreTypeDataManager(long version, @NotNull @NotNull Class<U> clazz, @NotNull U @NotNull [] values, @NotNull @NotNull Map<String,List<T>> data, @NotNull @NotNull Map<String,Long> idsHistorien)
      Erstellt einen neuen Manager für die übergebenen Daten
      Parameter:
      version - die Version der Daten
      clazz - die Core-Type-Klasse
      values - ein Array mit allen Werten des Core-Types
      data - die Daten für den Core-Type
      idsHistorien - die IDs der Historien zu den einzelnen Bezeichnern
  • Methodendetails

    • putManager

      public static <T extends CoreTypeData, U extends CoreType<T, U>> void putManager(@NotNull @NotNull Class<U> clazz, @NotNull @NotNull CoreTypeDataManager<T,U> manager)
      Fügt für den Core-Type einen Core-Type-Manager hinzu
      Typparameter:
      T - der Typ der Katalog-Einträge
      U - der Typ des Core-Types
      Parameter:
      clazz - die Klassen des Core-Types
      manager - der Core-Type-Manager
    • getManager

      @NotNull public static <T extends CoreTypeData, U extends CoreType<T, U>> @NotNull CoreTypeDataManager<T,U> getManager(@NotNull @NotNull Class<U> clazz)
      Ermittelt den Core-Type-Manager für den Core-Type, sofern dieser initialisiert wurde. Ist dies nicht der Fall, so wird eine Exception erzeugt.
      Typparameter:
      T - der Typ der Katalog-Einträge
      U - der Typ des Core-Types
      Parameter:
      clazz - die Klassen des Core-Types
      Gibt zurück:
      der Core-Type-Manager
    • getName

      @NotNull public @NotNull String getName()
      Gibt den Namen des Core-Types zurück.
      Gibt zurück:
      der Name des Core-Types
    • getVersion

      public long getVersion()
      Gibt die Version der Core-Type-Daten zurück. Diese wird z.B. genutzt, um bei einem Datenbank Update-Process die Version des Core-Types feststellen zu können.
      Gibt zurück:
      die Version
    • getWerte

      @NotNull public @NotNull List<U> getWerte()
      Gibt die nicht veränderbare Liste aller Werte des Core-Type zurück.
      Gibt zurück:
      die nicht veränderbare Liste aller Werte
    • getHistorienIdByBezeichner

      public long getHistorienIdByBezeichner(String bezeichner)
      Gibt die Historien-ID für den angegebenen Bezeichner zurück.
      Parameter:
      bezeichner - der Bezeichner
      Gibt zurück:
      die Historien-ID
    • getHistorieByBezeichner

      @NotNull public @NotNull List<T> getHistorieByBezeichner(String bezeichner)
      Gibt die Historie für den angegebenen Bezeichner zurück.
      Parameter:
      bezeichner - der Bezeichner
      Gibt zurück:
      die Historie
    • getWertByBezeichner

      @NotNull public U getWertByBezeichner(@NotNull @NotNull String bezeichner)
      Gibt den Core-Type-Wert für den angegebenen Bezeichner zurück.
      Parameter:
      bezeichner - der Bezeichner
      Gibt zurück:
      der Core-Type-Wert
    • getWerteByBezeichner

      @NotNull public @NotNull List<U> getWerteByBezeichner(@NotNull @NotNull List<String> bezeichner)
      Gibt die Core-Type-Werte für die angegebenen Bezeichner zurück.
      Parameter:
      bezeichner - die Lister der Bezeichner
      Gibt zurück:
      die Liste der Core-Type-Werte
    • getWerteByBezeichnerAsSet

      @NotNull public @NotNull Set<U> getWerteByBezeichnerAsSet(@NotNull @NotNull List<String> bezeichner)
      Gibt die Core-Type-Werte für die angegebenen Bezeichner als Set zurück.
      Parameter:
      bezeichner - die Liste der Bezeichner
      Gibt zurück:
      das Set der Core-Type-Werte
    • getWerteByBezeichnerAsNonEmptySet

      @NotNull public @NotNull Set<U> getWerteByBezeichnerAsNonEmptySet(@NotNull @NotNull List<String> bezeichner)
      Gibt die Core-Type-Werte für die angegebenen Bezeichner als nicht-leeres Set zurück.
      Parameter:
      bezeichner - die Liste der Bezeichner
      Gibt zurück:
      das nicht-leeres Set der Core-Type-Werte
    • getHistorienIdByWert

      public long getHistorienIdByWert(@NotNull U value)
      Gibt die Historien-ID für den angegebenen Core-Type Wert zurück.
      Parameter:
      value - der Core-Type-Wert
      Gibt zurück:
      die Historien-ID
    • getHistorieByWert

      @NotNull public @NotNull List<T> getHistorieByWert(@NotNull U value)
      Gibt die Historie für den angegebenen Core-Type Wert zurück.
      Parameter:
      value - der Core-Type-Wert
      Gibt zurück:
      die Historie
    • getEintragByIDOrException

      @NotNull public T getEintragByIDOrException(long id) throws CoreTypeException
      Gibt den Historien-Eintrag für die angegebene ID zurück.
      Parameter:
      id - die ID
      Gibt zurück:
      der Historien-Eintrag
      Löst aus:
      CoreTypeException - wenn kein Eintrag gefunden wird
    • getEintragByID

      public T getEintragByID(long id)
      Gibt den Historien-Eintrag für die angegebene ID zurück.
      Parameter:
      id - die ID
      Gibt zurück:
      der Historien-Eintrag oder null, wenn die ID ungültig ist
    • getWertByID

      @NotNull public U getWertByID(long id)
      Gibt den Core-Type-Wert für die angegebene ID zurück.
      Parameter:
      id - die ID
      Gibt zurück:
      der Core-Type-Wert
    • getWertBySchluessel

      public U getWertBySchluessel(@NotNull @NotNull String schluessel)
      Gibt den Core-Type-Wert für den angegebene numerischen Schlüssel zurück.
      Parameter:
      schluessel - der numerische Schlüssel
      Gibt zurück:
      der Core-Type-Wert
    • getWertBySchluesselOrException

      @NotNull public U getWertBySchluesselOrException(@NotNull @NotNull String schluessel) throws CoreTypeException
      Gibt den Core-Type-Wert für den angegebene numerischen Schlüssel zurück.
      Parameter:
      schluessel - der numerische Schlüssel
      Gibt zurück:
      der Core-Type-Wert
      Löst aus:
      CoreTypeException - wenn der Schlüssel nicht existiert
    • getWertByKuerzel

      public U getWertByKuerzel(@NotNull @NotNull String kuerzel)
      Gibt den Core-Type-Wert für das angegebene Kürzel zurück. Diese Methode sollte i.A. nicht mehr zur Indenfikation des Core-Types genutzt werden. Sie steht dennoch für die Kompatibilität zu alten Schuldatenbanken zur Verfügung.
      Parameter:
      kuerzel - das Kürzel
      Gibt zurück:
      der Core-Type-Wert
    • getWertByKuerzelOrException

      @NotNull public U getWertByKuerzelOrException(@NotNull @NotNull String kuerzel) throws CoreTypeException
      Gibt den Core-Type-Wert für das angegebene Kürzel zurück. Diese Methode sollte i.A. nicht mehr zur Indenfikation des Core-Types genutzt werden. Sie steht dennoch für die Kompatibilität zu alten Schuldatenbanken zur Verfügung.
      Parameter:
      kuerzel - das Kürzel
      Gibt zurück:
      der Core-Type-Wert
      Löst aus:
      CoreTypeException - wenn das Kürzel nicht gültig ist
    • getEintragBySchuljahrUndWert

      public T getEintragBySchuljahrUndWert(int schuljahr, @NotNull U value)
      Gibt die Daten aus der Historie zu dem Core-Type-Wert für das angegeben Schuljahr zurück.
      Parameter:
      schuljahr - das zu prüfende Schuljahr
      value - der Core-Type-Wert
      Gibt zurück:
      die Daten aus der Historie
    • getEintraegeBySchuljahr

      @NotNull public @NotNull List<T> getEintraegeBySchuljahr(int schuljahr)
      Gibt die Menge der Historieneinträge für das angegebene Schuljahr aus der Menge aller Werte zurück.
      Parameter:
      schuljahr - das zu prüfende Schuljahr
      Gibt zurück:
      die Daten aus den Historieneinträgen für das angegebene Schuljahr aus der Menge aller Werte
    • getWerteBySchuljahr

      @NotNull public @NotNull List<U> getWerteBySchuljahr(int schuljahr)
      Gibt alle Schulformen dieser Aufzählung zurück, welche in dem angebenen Schuljahr gültig sind.
      Parameter:
      schuljahr - das Schuljahr
      Gibt zurück:
      eine List mit alle Schulformen
    • hatSchulform

      public boolean hatSchulform(int schuljahr, @NotNull @NotNull Schulform sf, @NotNull U value)
      Prüft, ob die Schulform bei diesem Core-Type-Wert in dem angegeben Schuljahr zulässig ist oder nicht.
      Parameter:
      schuljahr - das zu prüfende Schuljahr
      sf - die Schulform, auf die geprüft wird
      value - der Core-Type-Wert
      Gibt zurück:
      true, falls die Schulform zulässig ist, und ansonsten false
    • getBySchulform

      public T getBySchulform(int schuljahr, @NotNull @NotNull Schulform sf, @NotNull U value)
      Gibt den Katalog-Eintrag des Jahrgangs für die übergenene Schulform in dem übergebenen Schuljahr zurück.
      Parameter:
      schuljahr - das Schuljahr
      sf - die Schulform
      value - der Core-Type-Wert
      Gibt zurück:
      der Katalog-Eintrag oder null, wenn keiner gefunden wird
    • getListBySchuljahrAndSchulform

      @NotNull public @NotNull List<U> getListBySchuljahrAndSchulform(int schuljahr, @NotNull @NotNull Schulform schulform)
      Liefert alle zulässigen Core-Type-Werte für die angegebene Schulform in dem angegebenen Schuljahr.
      Parameter:
      schuljahr - das Schuljahr
      schulform - die Schulform
      Gibt zurück:
      die bei der Schulform in dem angegebenen Schuljahr zulässigen Core-Type-Werte
    • getBySchuljahrAndSchulformAndSchluessel

      public U getBySchuljahrAndSchulformAndSchluessel(int schuljahr, @NotNull @NotNull Schulform schulform, @NotNull @NotNull String schluessel)
      Liefert die zulässige Core-Type-Werte für die angegebene Schulform in dem angegebenen Schuljahr und dem angebenen Schlüssel oder null falls eine solcher Core-Type-Wert nicht existiert.
      Parameter:
      schuljahr - das Schuljahr
      schulform - die Schulform
      schluessel - der Schlüssel für den Core-Type-Wert
      Gibt zurück:
      der bei der Schulform in dem angegebenen Schuljahr dem Schlüssel zugehörige Core-Type-Wert oder null falls ein solcher nicht existiert