|
|||||||||
| 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 final 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 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,
String basePath,
byte[] temp,
DataIndexIndex.IndexStartmode startmode)
Erzeugt einen neuen DatenIndex. |
|
| Method Summary | |
|---|---|
void |
add(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 |
checkForAdd(String basePath,
byte[] temp,
long dIMin,
long dIMax,
long contId)
Prüft, ob dem Index ein neuer Eintrag hinzugefügt werden könnte. |
void |
closeIndex(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(String basePath)
Liefert den kleinsten DT Min Wert, der jemals in diesem Index gespeichert wird. |
IndexResult |
getContainerID(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,
String basePath)
Verändert die Größe des RingBuffers. |
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 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,
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 soll| Method 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(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-Datei
public void checkForAdd(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-Datei
public IndexResult getContainerID(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 IndexDatei
public long getAbsolutDIdxMin(String basePath)
throws IndexException
basePath - Verzeichnis, in dem die Index-Datei liegt
IndexException - Bei Zugriffsproblemen mit der IndexDatei
public void closeIndex(String basePath,
byte[] temp)
throws IndexException
basePath - Verzeichnis, in dem die Index-Datei liegttemp - Puffer, der beim Schreiben der Index-Datei verwendet wird
IndexExceptionpublic String toString()
toString in class Object
public void resize(int newSize,
String basePath)
throws IndexException
newSize - basePath -
IndexException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||