Klasse DataIndexIndexImpl
java.lang.Object
de.bsvrz.ars.ars.persistence.index.backend.management.AbstractIndex<IndexValues>
de.bsvrz.ars.ars.persistence.index.DataIndexIndexImpl
- Alle implementierten Schnittstellen:
BaseIndex<IndexValues>
,DataIndexIndex
,AutoCloseable
Diese Klasse stellt einen Datenindex-Index dar. Sie verhält sich ähnlich dem
DataTimeIndexImpl
. Die Folge der Eintraege (min, max) ist nicht monoton,
weil es beim Nachfordern Rückspruenge geben kann. Stattdessen sind die Eintraege nur nach dem min-Wert sortiert. Ein Eintrag enthält Minimum, Maximum des
Datenindex und die ContainerID.-
Feldübersicht
FelderModifizierer und TypFeldBeschreibungstatic final String
Dateiname, unter dem alle Indices dieser Art gespeichert werden -
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungDataIndexIndexImpl
(int bufferSize, Path file) Erzeugt einen neuen DatenIndex. -
Methodenübersicht
Von Klasse geerbte Methoden de.bsvrz.ars.ars.persistence.index.backend.management.AbstractIndex
append, append, close, first, flush, getFile, getFirst, getLast, getStorage, insert, insert, insertOrReplace, insertOrReplace, numEntries, query, query, removeAll, setInsertValue, setInsertValue, toString
Von Klasse geerbte Methoden java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Von Schnittstelle geerbte Methoden de.bsvrz.ars.ars.persistence.index.backend.management.BaseIndex
append, append, close, first, flush, getFile, getFirst, getLast, insert, insert, insertOrReplace, insertOrReplace, numEntries, query, query, removeAll, setInsertValue, setInsertValue
Von Schnittstelle geerbte Methoden de.bsvrz.ars.ars.persistence.index.DataIndexIndex
getContainerIDByDataIndex
-
Felddetails
-
IDX_FILENAME
Dateiname, unter dem alle Indices dieser Art gespeichert werden
-
-
Konstruktordetails
-
DataIndexIndexImpl
Erzeugt einen neuen DatenIndex.Bei startmode==APPEND_REUSE_LAST wird der Ringpuffer mit den aktuellsten Daten aus einer vorhandenen Indexdatei gefüllt. Der Eintrag mit der größten ContainerId wird als currentEntry reaktiviert. Damit kann ein Container fortgesetzt und der reaktivierte Eintrag weiter aktualisiert werden.
Bei startmode==ERASE_OLD wird ein leerer Index erzeugt und die bisherige Indexdatei (sofern vorhanden) geloescht.
- Parameter:
bufferSize
- Anzahl der Einträge, die der die der Index im RAM halten sollfile
- Datei- Löst aus:
CorruptIndexException
- Bei Problemen mit dem Dateizugriff
-
-
Methodendetails
-
add
Fügt dem Index einen neuen Eintrag hinzu. Dabei wird der derzeitig aktuelle Eintrag abgeschlossen. Führt dies dazu, dass keine weiteren freien Plätze im Cache vorhanden sind, werden die Änderungen auf Platte geschrieben. Wenn der Cache noch vollständig leer ist, werden die aktuellsten Daten aus der Index-Datei geladen.- Parameter:
dIMin
- DatenIndex Min-WertdIMax
- DatenIndex Max-WertcontId
- Container ID- Löst aus:
IndexException
- Bei Problemem mit der Index-Datei
-
entrySize
public static int entrySize()Gibt die anzahl Bytes zurück, die ein Indexeintrag belegt.- Gibt zurück:
- Anzahl bytes
-