Package de.svws_nrw.core.utils
Klasse AuswahlManager<TID,TAuswahl,TDaten>
java.lang.Object
de.svws_nrw.core.utils.AuswahlManager<TID,TAuswahl,TDaten>
- Typparameter:
TID
- der gemeinsame Typ der ID der Auswahl- und Daten-KlassenTAuswahl
- der Typ der Auswahl-Listen-ObjekteTDaten
- der Typ der Datenobjekte für eine Auswahl
- Bekannte direkte Unterklassen:
FachListeManager
,KlassenListeManager
,KursListeManager
,LehrerListeManager
,RaumListeManager
,ReligionListeManager
,SchuelerKAoAManager
,SchuelerListeManager
,StundenplanUnterrichtListeManager
,VermerkartenManager
Diese Klasse stellt grundlegende Funktionalitäten für die Verwaltung einer
Auswahl mit einer Manager-Klasse zur Verfügung. Ein solche Manager sollte
von dieser Klasse abgeleitet werden.
-
Feldübersicht
Modifizierer und TypFeldBeschreibungprotected TDaten
Die Daten, sofern eine Auswahl vorhanden ist.protected final @NotNull Runnable
Ein Handler für das Ereignis, dass der Filter angepasst wurdeDie gefilterte Liste, sofern sie schon berechnet wurdeprotected boolean
Gibt an, ob die aktuelle Einzel-Auswahl auch bei dem Filter erlaubt wird oder nicht.Die Sortier-Ordnung, welche vom Comparator verwendet wird.protected final Schulform
Die Schulform der Schuleprotected final long
Der Schuljahresabschnitt, welcher für die Auswahl genutzt wirdprotected final long
Der Schuljahresabschnitt, in dem sich die Schule befindetprotected TDaten
Die Daten aus der vorherigen Auswahl.final @NotNull AttributMitAuswahl
<TID, TAuswahl> Ein Auswahl-Attribut für die Auswahliste.final @NotNull AttributMitAuswahl
<Long, Schuljahresabschnitt> Das Filter-Attribut für die Schuljahresabschnitte - die Filterfunktion wird zur Zeit noch nicht genutzt -
Konstruktorübersicht
ModifiziererKonstruktorBeschreibungprotected
AuswahlManager
(long schuljahresabschnitt, long schuljahresabschnittSchule, @NotNull List<Schuljahresabschnitt> schuljahresabschnitte, Schulform schulform, @NotNull Collection<TAuswahl> values, @NotNull Comparator<TAuswahl> listComparator, @NotNull Function<TAuswahl, TID> listeToId, @NotNull Function<TDaten, TID> datenToId, @NotNull List<Pair<String, Boolean>> order) Initialisiert die Auswahl-Manager-Instanz -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungauswahl()
Gibt den Eintrag der aktuellen Auswahl in der Liste zurück.Gibt die ID der Auswahl zurück.protected abstract boolean
checkFilter
(TAuswahl eintrag) Prüft, ob der angegebene Eintrag durch den Filter durchgelassen wird oder nicht.protected abstract int
compareAuswahl
(TAuswahl a, TAuswahl b) Vergleicht zwei Einträge der Auswahl miteinander.daten()
Gibt die Daten der aktuellen Auswahl zurück.filtered()
Gibt eine gefilterte Auswahl-Liste zurück.void
Entfernt den aktuelle Cache für die gefilterte Liste und forciert so eine Neu-Berechnung der gecachten Listeint
Gibt das Schuljahr des Schuljahresabschnitts der Schule zurück.Gibt den Schuljahresabschnitt der Auswahl zurück.@NotNull Schuljahresabschnitt
Gibt den Schuljahresabschnitt der Schule zurück.Gibt die vorherige Auswahl zurück odernull
, wenn es keine vorherige Auswahl gibt.boolean
hasDaten()
Gibt zurück, ob eine Auswahl und damit auch Daten vorliegen.boolean
Gibt zurück, ob die aktuelle Auswahl beim Filter erlaubt bleibt oder nicht.boolean
Gibt zurück, ob der Schuljahresabschnitt der Auswahl mit dem aktuellen Schuljahresabschnitt der Schule übereinstimmt.boolean
Gibt zurück, ob sich bei dem Schuljahresabschnitt der Auswahl um ein Abschnitt in Planung handelt, d.h. ob der Schuljahresabschnitt der Auswahl nach dem aktuellen Schuljahresabschnitt der Schule liegt.boolean
Gibt zurück, ob sich bei dem Schuljahresabschnitt der Auswahl um einen Abschnitt in der Vergangengheit handelt, d.h. ob der Schuljahresabschnitt der Auswahl vor dem aktuellen Schuljahresabschnitt der Schule liegt.protected void
Diese Methode kann überschrieben werden.protected void
Diese Methode kann überschrieben werden.protected void
Diese Methode kann überschrieben werden.protected boolean
onSetDaten
(TAuswahl eintrag, TDaten daten) Diese Methode wird aufgerufen, wenn neue Daten gesetzt werden.orderGet()
Gibt die Sortier-Ordnung für die gefilterten Listen zurück als eine Menge von Paaren, welche das zu sortierende Feld als String angebenen und als boolean ob es aufsteigend (true) oder absteigend (false) sortiert werden soll.void
Setzt die Sortier-Ordnung für die gefilterten Listen.void
orderUpdate
(@NotNull String field, Boolean order) Aktualisiert die Reihenfolge bei der Sortierung für das angegebene Feld.@NotNull Schulform
Gibt die Schulform der Schule zurück.void
Setzt die Daten.void
setFilterAuswahlPermitted
(boolean value) Setzt, ob die aktuelle Auswahl beim Filter erlaubt bleibt oder nicht.
-
Felddetails
-
liste
Ein Auswahl-Attribut für die Auswahliste. Dieses wird nicht für eine Filterung verwendet, sondern für eine Mehrfachauswahl -
_schulform
Die Schulform der Schule -
_schuljahresabschnitt
protected final long _schuljahresabschnittDer Schuljahresabschnitt, welcher für die Auswahl genutzt wird -
_schuljahresabschnittSchule
protected final long _schuljahresabschnittSchuleDer Schuljahresabschnitt, in dem sich die Schule befindet -
schuljahresabschnitte
Das Filter-Attribut für die Schuljahresabschnitte - die Filterfunktion wird zur Zeit noch nicht genutzt -
_filtered
Die gefilterte Liste, sofern sie schon berechnet wurde -
_daten
Die Daten, sofern eine Auswahl vorhanden ist. -
_eventHandlerFilterChanged
Ein Handler für das Ereignis, dass der Filter angepasst wurde -
_order
Die Sortier-Ordnung, welche vom Comparator verwendet wird. -
_filterPermitAuswahl
protected boolean _filterPermitAuswahlGibt an, ob die aktuelle Einzel-Auswahl auch bei dem Filter erlaubt wird oder nicht. -
_vorherigeAuswahl
Die Daten aus der vorherigen Auswahl.
-
-
Konstruktordetails
-
AuswahlManager
protected AuswahlManager(long schuljahresabschnitt, long schuljahresabschnittSchule, @NotNull @NotNull List<Schuljahresabschnitt> schuljahresabschnitte, Schulform schulform, @NotNull @NotNull Collection<TAuswahl> values, @NotNull @NotNull Comparator<TAuswahl> listComparator, @NotNull @NotNull Function<TAuswahl, TID> listeToId, @NotNull @NotNull Function<TDaten, TID> datenToId, @NotNull @NotNull List<Pair<String, Boolean>> order) Initialisiert die Auswahl-Manager-Instanz- Parameter:
schuljahresabschnitt
- der Schuljahresabschnitt, für welchen die Auswahl bereitgestellt wird.schuljahresabschnittSchule
- der Schuljahresabschnitt, in welchem sich die Schule aktuell befindet.schuljahresabschnitte
- die Liste der Schuljahresabschnitteschulform
- die Schulform, für welche die Auswahl bereitgestellt wird.values
- die Werte für die AuswahllistelistComparator
- ein comparator für das Vergleichen von Auswahl-WertenlisteToId
- eine Funktion für das Mappen eines Auswahl-Objektes auf seine IDdatenToId
- eine Funktion für das Mappen eines Daten-Objektes auf seine IDorder
- die Default-Sortierung für die Auswahl-Liste
-
-
Methodendetails
-
filtered
Gibt eine gefilterte Auswahl-Liste zurück. Für die Filterung muss der Manager die Methode onFilter überschreiben.- Gibt zurück:
- die gefilterte Liste
-
filterInvalidateCache
public void filterInvalidateCache()Entfernt den aktuelle Cache für die gefilterte Liste und forciert so eine Neu-Berechnung der gecachten Liste -
checkFilter
Prüft, ob der angegebene Eintrag durch den Filter durchgelassen wird oder nicht.- Parameter:
eintrag
- der zu prüfende Eintrag- Gibt zurück:
- true, wenn der Eintrag den Filter passiert, und ansonsten false
-
compareAuswahl
Vergleicht zwei Einträge der Auswahl miteinander.- Parameter:
a
- der erste Eintragb
- der zweite Eintrag- Gibt zurück:
- ein negativer Wert, 0 oder ein positiver Werte, wenn der erste Eintrag kleiner, gleich oder größer ist als der zweite Eintrag
-
onFilterChanged
protected void onFilterChanged()Diese Methode kann überschrieben werden. Sie wird aufgerufen, wenn eine Änderung an einem Filter stattgefunden hat. Das Ereignis tritt auf bevor die alte gefilterte Liste ungültig wird. -
onListeChanged
protected void onListeChanged()Diese Methode kann überschrieben werden. Sie wird aufgerufen, wenn eine Änderung an der Liste der für die Mehrfachauswahl zulässigen Werte stattgefunden hat. -
onMehrfachauswahlChanged
protected void onMehrfachauswahlChanged()Diese Methode kann überschrieben werden. Sie wird aufgerufen, wenn eine Änderung an der Mehrfachauswahl stattgefunden hat. -
orderSet
Setzt die Sortier-Ordnung für die gefilterten Listen. Hier wird eine Menge von Paaren angegeben, welche das zu sortierende Feld als String angebenen und als boolean ob es aufsteigend (true) oder absteigend (false) sortiert werden soll.- Parameter:
order
- die Sortier-Ordnung
-
orderGet
Gibt die Sortier-Ordnung für die gefilterten Listen zurück als eine Menge von Paaren, welche das zu sortierende Feld als String angebenen und als boolean ob es aufsteigend (true) oder absteigend (false) sortiert werden soll.- Gibt zurück:
- die Sortier-Ordnung
-
orderUpdate
Aktualisiert die Reihenfolge bei der Sortierung für das angegebene Feld. Dabei werden vorhande Feld-Eintrage angepasst oder bei null entfernt. Nicht vorhande Feld-Einträge werden ergänzt, sofern eine Reihenfolge definiert wird.- Parameter:
field
- das Feldorder
- die Reihenfolge für dieses Feld (ascending: true, descending: false, deaktivieren: null)
-
schulform
Gibt die Schulform der Schule zurück.- Gibt zurück:
- die Schulform der Schule
-
hasDaten
public boolean hasDaten()Gibt zurück, ob eine Auswahl und damit auch Daten vorliegen.- Gibt zurück:
- true, wenn eine Auswahl und Daten vorliegen, und ansonsten false
-
daten
Gibt die Daten der aktuellen Auswahl zurück.- Gibt zurück:
- die Daten
-
setDaten
Setzt die Daten. Dabei wird ggf. die Auswahl angepasst. Die vorherige Auswahl wird gespeichert.- Parameter:
daten
- die neuen Daten- Löst aus:
DeveloperNotificationException
- falls die Daten nicht in der Auswahlliste vorhanden ist
-
onSetDaten
Diese Methode wird aufgerufen, wenn neue Daten gesetzt werden. Hierüber kann ein Manager noch nötige Anpassungen an der Auswahlliste durchführen. Wurde die Auswahlliste so angepasst, dass Änderungen an der Sortierung daraus resultieren können, so ist true zurückzugeben.- Parameter:
eintrag
- der Eintrag in der Auswahllistedaten
- die neuen Daten für den Eintrag in der Auswahlliste- Gibt zurück:
- gibt an, ob Anpassungen an der Auswahlliste vorgenommen wurden.
-
auswahlID
Gibt die ID der Auswahl zurück. Ist keine Auswahl vorhanden, so wird null zurückgegeben.- Gibt zurück:
- die ID oder null
-
auswahl
Gibt den Eintrag der aktuellen Auswahl in der Liste zurück. Hiefür muss eine gültige Auswahl vorliegen. Dies kann ggf. vorher über hasDaten geprüft werden.- Gibt zurück:
- der Eintrag in der Auswahlliste
- Löst aus:
DeveloperNotificationException
- wenn keine gültige Auswahl vorliegt
-
isFilterAuswahlPermitted
public boolean isFilterAuswahlPermitted()Gibt zurück, ob die aktuelle Auswahl beim Filter erlaubt bleibt oder nicht.- Gibt zurück:
- true, falls die aktuelle Auswahl beim Filtern erlaubt bleibt oder nicht.
-
setFilterAuswahlPermitted
public void setFilterAuswahlPermitted(boolean value) Setzt, ob die aktuelle Auswahl beim Filter erlaubt bleibt oder nicht.- Parameter:
value
- der neue boolean-Wert
-
getSchuljahresabschnittAuswahl
Gibt den Schuljahresabschnitt der Auswahl zurück.- Gibt zurück:
- der Schuljahresabschnitt der Auswahl
-
getSchuljahresabschnittSchule
Gibt den Schuljahresabschnitt der Schule zurück.- Gibt zurück:
- der Schuljahresabschnitt der Schule
-
getSchuljahr
public int getSchuljahr()Gibt das Schuljahr des Schuljahresabschnitts der Schule zurück.- Gibt zurück:
- das Schuljahr
-
istSchuljahresabschnittAktuell
public boolean istSchuljahresabschnittAktuell()Gibt zurück, ob der Schuljahresabschnitt der Auswahl mit dem aktuellen Schuljahresabschnitt der Schule übereinstimmt.- Gibt zurück:
- true, wenn die Schuljahresabschnitte übereinstimmen
-
istSchuljahresabschnittPlanung
public boolean istSchuljahresabschnittPlanung()Gibt zurück, ob sich bei dem Schuljahresabschnitt der Auswahl um ein Abschnitt in Planung handelt, d.h. ob der Schuljahresabschnitt der Auswahl nach dem aktuellen Schuljahresabschnitt der Schule liegt.- Gibt zurück:
- true, wenn der Schuljahresabschnitt der Auswahl ein Planungsabschnitt ist
-
istSchuljahresabschnittVergangenheit
public boolean istSchuljahresabschnittVergangenheit()Gibt zurück, ob sich bei dem Schuljahresabschnitt der Auswahl um einen Abschnitt in der Vergangengheit handelt, d.h. ob der Schuljahresabschnitt der Auswahl vor dem aktuellen Schuljahresabschnitt der Schule liegt.- Gibt zurück:
- true, wenn der Schuljahresabschnitt der Auswahl ein vergangener Abschnitt ist
-
getVorherigeAuswahl
Gibt die vorherige Auswahl zurück odernull
, wenn es keine vorherige Auswahl gibt.- Gibt zurück:
- vorherige Auswahl
-