de.bsvrz.ars.ars.persistence.index
Class IndexEntryMonotone

java.lang.Object
  extended by de.bsvrz.ars.ars.persistence.index.IndexEntryMonotone

public class IndexEntryMonotone
extends Object

Repräsentiert einen Eintrag im monotonen Index. Dieser besteht aus Datenindex-Minimum, Datenindex-Maximum, Archivzeit-Minimum, Archivzeit-Maximum, Datenzeit-Minimum, Datenzeit-Maximum und der Container-ID, auf die sich die Min/Max-Werte beziehen.

Author:
beck et al. projects GmbH, Thomas Schaefer, Philippe Schrettenbrunner, Alexander Schmidt

Field Summary
private static int AT_MAX_POS
           
private static int AT_MIN_POS
           
private static int CID_POS
           
private static int DI_MAX_POS
           
private static int DI_MIN_POS
           
private static int DT_MAX_POS
           
private static int DT_MIN_POS
           
static int ENTRY_LEN
           
 
Constructor Summary
IndexEntryMonotone()
           
 
Method Summary
static long get(ATimeMonotoneIndex.Key entrVal, boolean min, byte[] buf, int pos)
          Liefert das Maximum des spezifizierten Indexart des Eintrags an der angegebenen Stelle.
static long getATimeMax(byte[] buf, int pos)
          Liefert das Archivzeit-Maximum des Eintrags an der angegebenen Stelle.
static long getATimeMin(byte[] buf, int pos)
          Liefert das Archivzeit-Minimum des Eintrags an der angegebenen Stelle.
static long getCID(byte[] buf, int pos)
          Liefert die Container-ID des Eintrags an der angegebenen Stelle.
static long getDIdxMax(byte[] buf, int pos)
          Liefert das Datenindex-Maximum des Eintrags an der angegebenen Stelle.
static long getDIdxMin(byte[] buf, int pos)
          Liefert das Datenindex-Minimum des Eintrags an der angegebenen Stelle.
static long getDTimeMax(byte[] buf, int pos)
          Liefert das Archivzeit-Maximum des Eintrags an der angegebenen Stelle.
static long getDTimeMin(byte[] buf, int pos)
          Liefert das Archivzeit-Minimum des Eintrags an der angegebenen Stelle.
static void setEntry(byte[] buf, int pos, long dIMin, long dIMax, long aTMin, long aTMax, long dTMin, long dTMax, long cID)
          Setzt einen Eintrag entsprechend der uebergebenen Werte an der angegebenen Stelle im angegebenen Feld.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DI_MIN_POS

private static final int DI_MIN_POS
See Also:
Constant Field Values

DI_MAX_POS

private static final int DI_MAX_POS
See Also:
Constant Field Values

AT_MIN_POS

private static final int AT_MIN_POS
See Also:
Constant Field Values

AT_MAX_POS

private static final int AT_MAX_POS
See Also:
Constant Field Values

DT_MIN_POS

private static final int DT_MIN_POS
See Also:
Constant Field Values

DT_MAX_POS

private static final int DT_MAX_POS
See Also:
Constant Field Values

CID_POS

private static final int CID_POS
See Also:
Constant Field Values

ENTRY_LEN

public static final int ENTRY_LEN
See Also:
Constant Field Values
Constructor Detail

IndexEntryMonotone

public IndexEntryMonotone()
Method Detail

setEntry

public static void setEntry(byte[] buf,
                            int pos,
                            long dIMin,
                            long dIMax,
                            long aTMin,
                            long aTMax,
                            long dTMin,
                            long dTMax,
                            long cID)
Setzt einen Eintrag entsprechend der uebergebenen Werte an der angegebenen Stelle im angegebenen Feld.

Parameters:
buf - Speicherbereich des Index
pos - Position des Neueintrags in Bytes
dIMin - Datenindex-Minimum
dIMax - Datenindex-Maximum
aTMin - Archivzeit-Minimum
aTMax - Archivzeit-Maximum
dTMin - Datenzeit-Minimum
dTMax - Datenzeit-Maximum
cID - Container-ID

getDIdxMin

public static long getDIdxMin(byte[] buf,
                              int pos)
Liefert das Datenindex-Minimum des Eintrags an der angegebenen Stelle.

Parameters:
buf - Speicherbereich des Index
pos - Position des Eintrags in Eintraegen gezaehlt
Returns:
Datenindex-Minimum

getDIdxMax

public static long getDIdxMax(byte[] buf,
                              int pos)
Liefert das Datenindex-Maximum des Eintrags an der angegebenen Stelle.

Parameters:
buf - Speicherbereich des Index
pos - Position des Eintrags in Eintraegen gezaehlt
Returns:
Datenindex-Maximum

getATimeMin

public static long getATimeMin(byte[] buf,
                               int pos)
Liefert das Archivzeit-Minimum des Eintrags an der angegebenen Stelle.

Parameters:
buf - Speicherbereich des Index
pos - Position des Eintrags in Eintraegen gezaehlt
Returns:
Archivzeit-Minimum

getATimeMax

public static long getATimeMax(byte[] buf,
                               int pos)
Liefert das Archivzeit-Maximum des Eintrags an der angegebenen Stelle.

Parameters:
buf - Speicherbereich des Index
pos - Position des Eintrags in Eintraegen gezaehlt
Returns:
Archivzeit-Maximum

getDTimeMin

public static long getDTimeMin(byte[] buf,
                               int pos)
Liefert das Archivzeit-Minimum des Eintrags an der angegebenen Stelle.

Parameters:
buf - Speicherbereich des Index
pos - Position des Eintrags in Eintraegen gezaehlt
Returns:
Archivzeit-Minimum

getDTimeMax

public static long getDTimeMax(byte[] buf,
                               int pos)
Liefert das Archivzeit-Maximum des Eintrags an der angegebenen Stelle.

Parameters:
buf - Speicherbereich des Index
pos - Position des Eintrags in Eintraegen gezaehlt
Returns:
Archivzeit-Maximum

get

public static long get(ATimeMonotoneIndex.Key entrVal,
                       boolean min,
                       byte[] buf,
                       int pos)
Liefert das Maximum des spezifizierten Indexart des Eintrags an der angegebenen Stelle.

Parameters:
entrVal - Indexart (Datenindex oder Archivzeit)
buf - Speicherbereich des Index
pos - Position des Eintrags in Eintraegen gezaehlt
Returns:
Maximum der Indexart

getCID

public static long getCID(byte[] buf,
                          int pos)
Liefert die Container-ID des Eintrags an der angegebenen Stelle.

Parameters:
buf - Speicherbereich des Index
pos - Position des Eintrags in Bytes
Returns:
Container-ID des Eintrags