|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.ars.ars.persistence.index.DataIndexIndex
public class DataIndexIndex
Diese Klasse stellt einen Datenindex-Index dar. Sie verhält sich ähnlich dem DataTimeIndex
.
Die Folge der Eintraege (min, max) ist nicht monoton, weil
es beim Nachfordern Rueckspruenge geben kann. Stattdessen sind die Eintraege nur nach dem min-Wert sortiert.
Ein Eintrag enthaelt Minimum, Maximum des Datenindex und die ContainerID.
Nested Class Summary | |
---|---|
static class |
DataIndexIndex.IndexStartmode
Modi, mit denen ein Index angelegt werden kann (siehe DataTimeIndex.DataTimeIndex(int, String, byte[], IndexStartmode) ) |
Field Summary | |
---|---|
static DataIndexIndex.IndexStartmode |
APPEND_REUSE_LAST
|
static DataIndexIndex.IndexStartmode |
ERASE_OLD
|
static java.lang.String |
IDX_FILENAME
Dateiname, unter dem alle Indices dieser Art gespeichert werden |
static int |
NO_VALUE
Flag, mit dem signalisiert wird, dass ein Eintrag "keinen Wert" hat |
Constructor Summary | |
---|---|
DataIndexIndex(int bufferSize)
Erzeugt einen neuen DatenIndexIndex. |
|
DataIndexIndex(int bufferSize,
java.lang.String basePath,
byte[] temp,
DataIndexIndex.IndexStartmode startmode)
Erzeugt einen neuen DatenIndex. |
Method Summary | |
---|---|
void |
add(java.lang.String basePath,
byte[] temp,
long dIMin,
long dIMax,
long contId)
Fügt dem Index einen neuen Eintrag hinzu. |
int |
capacity()
Anzahl der Einträge, die dieser Index im RAM halten kann |
void |
closeIndex(java.lang.String basePath,
byte[] temp)
Schließt den Index und speichert alle geänderten Daten auf Platte. |
int |
entries()
Anzahl der Einträge, die dieser Index im RAM hält |
long |
getAbsolutDIdxMin(java.lang.String basePath)
Liefert den kleinsten DT Min Wert, der jemals in diesem Index gespeichert wird. |
IndexResult |
getContainerID(java.lang.String basePath,
byte[] temp,
long dIMin,
long dIMax)
Liefert eine Matrix mit DIMin/Max und ContainerIds, deren DTMin/Max-Werte zwischen dTMin und dTMax liegen. |
long |
getCurrentCID()
Liefert die aktuelle Container ID. |
long |
getCurrentDIMax()
Liefert vom aktuellen Eintrag den Max-Wert des DatenIndex |
long |
getCurrentDIMin()
Liefert vom aktuellen Eintrag den Min-Wert des DatenIndex |
void |
resize(int newSize,
java.lang.String basePath)
Verändert die Größe des RingBuffers. |
java.lang.String |
toString()
Gibt den Inhalt des ByteBuffers als String aus, inkl Angaben über Kapazität, Anzahl der Einträge und des CurrentEntries. |
void |
updateMax(long newDIMax)
Aktualisiert den Max-Wert des aktuellsten Eintrages. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String IDX_FILENAME
public static final int NO_VALUE
public static final DataIndexIndex.IndexStartmode APPEND_REUSE_LAST
public static final DataIndexIndex.IndexStartmode ERASE_OLD
Constructor Detail |
---|
public DataIndexIndex(int bufferSize, java.lang.String basePath, byte[] temp, DataIndexIndex.IndexStartmode startmode) throws IndexException
bufferSize
- Anzahl der Einträge, die der die der Index im RAM halten sollbasePath
- Verzeichnis, in dem die Indexdatei liegttemp
- Ein temporäres ByteArray, das zum Suchen des currentEntries verwendet wirdstartmode
- DataIndexIndex.IndexStartmode.ERASE_OLD
: alte Indexdatei loeschen, DataIndexIndex.IndexStartmode.APPEND_REUSE_LAST
:
anfuegen, letzten Eintrag weiterverwenden
IndexException
- Bei Problemem mit dem Dateizugriffpublic DataIndexIndex(int bufferSize)
bufferSize
- Anzahl der Einträge, die der die der Index im RAM halten sollMethod Detail |
---|
public void updateMax(long newDIMax) throws IndexException
newDIMax
- neuer Wert für DatenIndexIndex-Max
IndexException
- Wenn der neue Wert kleiner als der dazugehörige Min-Wert ist oder wenn
keinen currentEntry gibtpublic long getCurrentCID()
public long getCurrentDIMin()
public long getCurrentDIMax()
public int capacity()
public int entries()
public void add(java.lang.String basePath, byte[] temp, long dIMin, long dIMax, long contId) throws IndexException
basePath
- Verzeichnis, in dem die Index-Datei liegttemp
- Puffer, der beim Einlesen/Schreiben der Index-Datei verwendet wirddIMin
- DatenIndex Min-WertdIMax
- DatenIndex Max-WertcontId
- Container ID
IndexException
- Bei Problemem mit der Index-Dateipublic IndexResult getContainerID(java.lang.String basePath, byte[] temp, long dIMin, long dIMax) throws IndexException
basePath
- Verzeichnis, in dem die Index-Datei liegttemp
- Puffer, der beim Einlesen/Schreiben der Index-Datei verwendet wirddTMin
- Min-Wert der ZeitspannedTMax
- Max-Wert der Zeitspanne
IndexException
- Bei Problemem mit der IndexDateipublic long getAbsolutDIdxMin(java.lang.String basePath) throws IndexException
basePath
- Verzeichnis, in dem die Index-Datei liegt
IndexException
- Bei Zugriffsproblemen mit der IndexDateipublic void closeIndex(java.lang.String basePath, byte[] temp) throws IndexException
basePath
- Verzeichnis, in dem die Index-Datei liegttemp
- Puffer, der beim Schreiben der Index-Datei verwendet wird
IndexException
public java.lang.String toString()
toString
in class java.lang.Object
public void resize(int newSize, java.lang.String basePath) throws IndexException
newSize
- basePath
-
IndexException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |