public class ContainerFile extends Object
PersistenceManager
im gleichen Package benutzt wird. Dieser haelt fuer jede anfragende Task
ein Objekt dieser Klasse und leitet Anfragen bzgl. Container-Dateien an dieses ContainerFile
-Objekt weiter.Modifier and Type | Field and Description |
---|---|
static FilenameFilter |
CONT_FILENAME_FILTER
Filter zur Erkennung von Containerdateien anhand des Dateinamens.
|
static boolean |
DECOMPRESS_QUERY_RESULTS
Falls wahr, werden Archivanfragen komprimiert beantwortet (ist langsam, weil das Stream-Interface der Kernsoftware langsam ist)
|
static int |
MAX_UNCOMPRESSED
Datensaetze bis zu dieser Laenge bleiben immer unkomprimiert.
|
static int |
NOT_COMPRESSED
Wert des Compress-Info-Feldes, wenn DS nicht komprimiert ist
|
Modifier and Type | Method and Description |
---|---|
void |
closeContainerRecount(long vorhalteZeit)
Schliesst einen Container, indem jeder Datensatz-Header des Containers gelesen wird, um die Min-/Max-Werte und die Anzahl der Datensaetze zu bestimmen.
|
static long |
compareContainerFile(File file1,
File file2)
Vergleicht die ID's von zwei ContainerFiles:
- grösser 0, wenn die ID des ersten ContainerFiles grösser ist, als die Zweite; - kleiner 0, wenn sie kleiner ist als die Zweite; - 0, wenn sie gleich sind. |
long |
compareContainerFile(long fileID2CompareWith)
Vergleicht die ID's von zwei ContainerFiles
grösser 0, wenn die ID dieses ContainerFiles grösser ist, als die zu Vergleichende kleiner 0, wenn sie kleiner ist als die zu Vergleichende 0, wenn sie gleich sind |
static String |
getContainerFileName(long containerId)
Liefert den Dateinamen des Daten-Containers mit der angegebenen Container-ID.
|
static long |
getContID(File file)
Liefert die Container-ID zur angegebenen Container-Datei, indem die im Container-Dateinamen enthaltene Container-ID ausgelesen wird.
|
static long |
getContID(String fileName)
Liefert die Container-ID zum angegebenen Container-Datei-Namen, indem die im Container-Dateinamen enthaltene Container-ID ausgelesen wird.
|
static int |
getHeaderLen()
Ermittelt die Gesamtlaenge des mit
accessContainer() im Zugriff befindlichen Containers. |
ArrayList<Long> |
getListOfIndexesDeleted() |
static int |
getTotalDataOverhead()
Ermittelt den vollstaendigen Overhead fuer einen Datensatz.
|
static boolean |
isContainerFile(File f)
Liefert Kennzeichen, ob die angegebene Datei eine Container-Datei ist.
|
static boolean |
isContainerFileName(String name)
Liefert Kennzeichen, ob der angegebene Dateiname eine moegliche Container-Datei ist.
|
static void |
prepareForPerformanceTest(byte[] testDat)
Wenn diese Methode aufgerufen wird, koennen keine Daten archiviert werden.
|
void |
setListOfIndexesDeleted(RandomAccessFile raf)
Erzeugt eine Liste der Datensatz-Indizes, die im durch raf spezifizierten Container vorkommen (sortiert)
|
String |
toString() |
void |
writeContainerHeader()
Schreibt die aktuellen Header-Parameter an den Anfang der Container-Datei.
|
void |
writeInitialContainerHeader()
Schreibt die aktuellen Header-Parameter an den Anfang der Container-Datei.
|
public static final int NOT_COMPRESSED
public static boolean DECOMPRESS_QUERY_RESULTS
public static int MAX_UNCOMPRESSED
public static final FilenameFilter CONT_FILENAME_FILTER
public static void prepareForPerformanceTest(byte[] testDat)
testDat
- Daten, die pro Datensatz in die Container geschrieben werden.public long compareContainerFile(long fileID2CompareWith)
fileID2CompareWith
- public static long compareContainerFile(File file1, File file2) throws PersistenceException
file1
- das erste Filefile2
- das zweite FilePersistenceException
- falls die Dateien keine ContainerFiles sindpublic static boolean isContainerFile(File f)
f
- Dateipublic static boolean isContainerFileName(String name)
name
- Dateinamepublic static long getContID(File file)
#getContainerHeaderParam(KeyValParam)
.file
- Container-Dateipublic static long getContID(String fileName)
#getContainerHeaderParam(KeyValParam)
.file
- Container-Dateipublic static String getContainerFileName(long containerId)
containerId
- Container-IDpublic void closeContainerRecount(long vorhalteZeit) throws PersistenceException
vorhalteZeit
- parametrierte Vorhaltezeit in SekundenPersistenceException
public void writeContainerHeader() throws PersistenceException
PersistenceException
public void writeInitialContainerHeader() throws PersistenceException
PersistenceException
public static int getHeaderLen()
accessContainer()
im Zugriff befindlichen Containers.PersistenceException
public static int getTotalDataOverhead()
public void setListOfIndexesDeleted(RandomAccessFile raf) throws IOException
raf
- IOException