Schnittstelle BaseIndex<E extends Enum<E>>
- Typparameter:
E
- Spaltentyp
- Alle Superschnittstellen:
AutoCloseable
- Alle bekannten Unterschnittstellen:
ArchiveTimeIndex
,DataIndexIndex
,DataTimeIndex
- Alle bekannten Implementierungsklassen:
AbstractIndex
,ArchiveTimeIndexImpl
,ContainerManagementIndex
,DataIndexAndArchiveTimeIndex
,DataIndexIndexImpl
,DataTimeIndexImpl
Basis-Implementierung für Indexe
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungvoid
append()
Fügt die vorher mitsetInsertValue(Enum, long)
gesetzten Werte hinten an den Index an.void
append
(boolean onlyCheck) Fügt die vorher mitsetInsertValue(Enum, long)
gesetzten Werte hinten an den Index an.void
close()
Schließt den Index und speichert alle geänderten Daten auf Platte.first()
Gibt den ersten (der Sortierung nach am kleinsten) Eintrag zurück (der am Dateianfang gespeichert ist)void
flush()
Schreibt den Index auf die FestplattegetFile()
Gibt die Datei zurücklong
Gibt den Wert in der ersten Zeile un der angegebenen Spalte zurücklong
Gibt den Wert in der letzten Zeile un der angegebenen Spalte zurückvoid
insert()
Fügt die vorher mitsetInsertValue(Enum, long)
gesetzten Werte in den Index ein.void
insert
(boolean onlyCheck) Fügt die vorher mitsetInsertValue(Enum, long)
gesetzten Werte in den Index ein oder prüft, ob das funktionieren würde.void
Fügt die vorher mitsetInsertValue(Enum, long)
gesetzten Werte in den Index ein oder überschreibt den bisher gespeicherten Wert.void
insertOrReplace
(boolean onlyCheck) Fügt die vorher mitsetInsertValue(Enum, long)
gesetzten Werte in den Index ein oder überschreibt den bisher gespeicherten Wert.long
Anzahl der Einträge, die dieser Index speichertquery()
Ermittelt alle Index-ZeilenErmittelt alle Index-Zeilen, die zu der angegebenen Anfrage passen.void
Löscht alle Einträge, diequery(Map)
mit dem entsprechenden Parameter zurückliefern würde.void
setInsertValue
(E column, long value) Setzt einen Wert der Einfügezeile, die später mitinsert()
eingefügt werden kann.void
setInsertValue
(E column, String value) Setzt einen Wert der Einfügezeile, die später mitinsert()
eingefügt werden kann.
-
Methodendetails
-
query
Ermittelt alle Index-Zeilen, die zu der angegebenen Anfrage passen. Das Ergebnis wird performant ermittelt, indem alle bekannten Einschränkungen ausgewertet werden. Wird nach Spalten eingeschränkt, die nicht im Index vorkommen, dann werden ggf. überflüssige Zeilen/Container usw. zurückgegeben. Hier muss dann der Anfrager entsprechend selbst filtern.- Parameter:
query
- Anfrage. Zu jeder Spalte in dem Index kann ein von/bis-Bereich angegeben werden, zu dem Container geliefert werden sollen. Wie für Archivdaten üblich, wird als erster Container ggf. der Container zurückgegeben, der den letzten Datensatz vor dem Anfragezeitraum enthält.- Gibt zurück:
- Ein IndexResult, der die Ergebnistabelle enthält
- Löst aus:
IndexException
- Lesefehler oder korrupter Index
-
query
Ermittelt alle Index-Zeilen- Gibt zurück:
- Ein IndexResult, der die Ergebnistabelle enthält
- Löst aus:
IndexException
- Lesefehler oder korrupter Index
-
setInsertValue
Setzt einen Wert der Einfügezeile, die später mitinsert()
eingefügt werden kann.- Parameter:
column
- Spaltevalue
- Wert
-
setInsertValue
Setzt einen Wert der Einfügezeile, die später mitinsert()
eingefügt werden kann.- Parameter:
column
- Spaltevalue
- Wert
-
first
Gibt den ersten (der Sortierung nach am kleinsten) Eintrag zurück (der am Dateianfang gespeichert ist)- Gibt zurück:
- IndexResult mit einem oder 0 Einträgen (falls der Index leer ist)
- Löst aus:
IndexException
- Lesefehler
-
insert
Fügt die vorher mitsetInsertValue(Enum, long)
gesetzten Werte in den Index ein.- Löst aus:
IndexException
- Lesefehler der Indexe (z. B. korrupt)
-
insertOrReplace
Fügt die vorher mitsetInsertValue(Enum, long)
gesetzten Werte in den Index ein oder überschreibt den bisher gespeicherten Wert. Welcher Wert überschrieben wird, ergibt sich aus Spalten, die eindeutige Werte (Primärschlüssel) enthalten. Ist keine passende Zeile vorhanden, wird eine neue erstellt.- Löst aus:
IndexException
- Lesefehler der Indexe (z. B. korrupt)
-
insert
Fügt die vorher mitsetInsertValue(Enum, long)
gesetzten Werte in den Index ein oder prüft, ob das funktionieren würde.- Parameter:
onlyCheck
- falls true wird nur geprüft, ob die neuen Werte eingefügt werden können, ohne dass die Monotoniebedingungen verletzt werden würden.- Löst aus:
IndexException
- Lesefehler der Indexe (z. B. korrupt)
-
insertOrReplace
Fügt die vorher mitsetInsertValue(Enum, long)
gesetzten Werte in den Index ein oder überschreibt den bisher gespeicherten Wert. Welcher Wert überschrieben wird, ergibt sich aus Spalten, die eindeutige Werte (Primärschlüssel) enthalten. Ist keine passende Zeile vorhanden, wird eine neue erstellt.- Parameter:
onlyCheck
- falls true wird nur geprüft, ob die neuen Werte eingefügt werden können, ohne dass die Monotoniebedingungen verletzt werden würden.- Löst aus:
IndexException
- Lesefehler der Indexe (z. B. korrupt)
-
append
Fügt die vorher mitsetInsertValue(Enum, long)
gesetzten Werte hinten an den Index an.- Löst aus:
IndexException
- Lesefehler der Indexe (z. B. korrupt)
-
append
Fügt die vorher mitsetInsertValue(Enum, long)
gesetzten Werte hinten an den Index an.- Parameter:
onlyCheck
- falls true wird nur geprüft, ob die neuen Werte eingefügt werden können, ohne dass die Monotoniebedingungen verletzt werden würden und der Index wird nicht verändert.- Löst aus:
IndexException
- Lesefehler der Indexe (z. B. korrupt)
-
getLast
Gibt den Wert in der letzten Zeile un der angegebenen Spalte zurück- Parameter:
column
- Spalte- Gibt zurück:
- Wert
- Löst aus:
IndexException
- Lesefehler oder es gibt keinen aktuellen Eintrag
-
getFirst
Gibt den Wert in der ersten Zeile un der angegebenen Spalte zurück- Parameter:
column
- Spalte- Gibt zurück:
- Wert
- Löst aus:
IndexException
- Lesefehler oder es gibt keinen aktuellen Eintrag
-
close
Schließt den Index und speichert alle geänderten Daten auf Platte. Nach dem Aufruf von close() darf die Index-Instanz nicht mehr verwendet werden.- Angegeben von:
close
in SchnittstelleAutoCloseable
- Löst aus:
IndexException
- Lesefehler der Indexe (z. B. korrupt)
-
getFile
Path getFile()Gibt die Datei zurück- Gibt zurück:
- die Datei, in der der Index gespeichert wird.
-
removeAll
Löscht alle Einträge, diequery(Map)
mit dem entsprechenden Parameter zurückliefern würde. (Ausnahme: Der letzte Container vor dem Anfragebereich, der ggf. als initialer Anfangswert zurückgegeben würde, wird nicht gelöscht).- Parameter:
query
- Anfrage (siehequery(Map)
)- Löst aus:
IndexException
- Lese-/Schreibfehler der Indexe (z. B. korrupt)
-
numEntries
long numEntries()Anzahl der Einträge, die dieser Index speichert- Gibt zurück:
- Anzahl der Einträge
-
flush
Schreibt den Index auf die Festplatte- Löst aus:
IndexException
- Lese-/Schreibfehler der Indexe (z. B. korrupt)
-