|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.ars.ars.persistence.ContainerFile
public class ContainerFile
Diese Klasse enthaelt die Funktionalitaet zum Erzeugen, Lesen, Schreiben und Loeschen von Container-Dateien.
Jeder Task, der mit Container-Dateien arbeitet, enthaelt ein Objekt dieser Klasse.
Die Sichtbarkeit von Konstruktor und Methoden ist beschraenkt, da diese Klasse nur durch den
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.
Field Summary | |
---|---|
static java.io.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 |
Method Summary | |
---|---|
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(java.io.File file1,
java.io.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 java.lang.String |
getContainerFileName(long containerId)
Liefert den Dateinamen des Daten-Containers mit der angegebenen Container-ID. |
static long |
getContID(java.io.File file)
Liefert die Container-ID zur angegebenen Container-Datei, indem die im Container-Dateinamen enthaltene Container-ID ausgelesen wird. |
static long |
getContID(java.lang.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. |
java.util.ArrayList<java.lang.Long> |
getListOfIndexesDeleted()
|
static int |
getTotalDataOverhead()
Ermittelt den vollstaendigen Overhead fuer einen Datensatz. |
static boolean |
isContainerFile(java.io.File f)
Liefert Kennzeichen, ob die angegebene Datei eine Container-Datei ist. |
static boolean |
isContainerFileName(java.lang.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(java.io.RandomAccessFile raf)
Erzeugt eine Liste der Datensatz-Indizes, die im durch raf spezifizierten Container vorkommen (sortiert) |
java.lang.String |
toString()
|
void |
writeContainerHeader()
Schreibt die aktuellen Header-Parameter an den Anfang der Container-Datei. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int NOT_COMPRESSED
public static boolean DECOMPRESS_QUERY_RESULTS
public static int MAX_UNCOMPRESSED
NO_SOURCE
, NO_DATA
, POT_GAP
lang sind!
Auf Integer.MAX_VALUE
setzen, um die Komprimierung zu deaktivieren.
public static final java.io.FilenameFilter CONT_FILENAME_FILTER
Method Detail |
---|
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(java.io.File file1, java.io.File file2) throws PersistenceException
file1
- das erste Filefile2
- das zweite File
PersistenceException
- falls die Dateien keine ContainerFiles sindpublic java.lang.String toString()
toString
in class java.lang.Object
public static boolean isContainerFile(java.io.File f)
f
- Datei
public static boolean isContainerFileName(java.lang.String name)
name
- Dateiname
public static long getContID(java.io.File file)
#getContainerHeaderParam(KeyValParam)
.
file
- Container-Datei
public static long getContID(java.lang.String fileName)
#getContainerHeaderParam(KeyValParam)
.
file
- Container-Datei
public static java.lang.String getContainerFileName(long containerId)
containerId
- Container-ID
public void closeContainerRecount(long vorhalteZeit) throws PersistenceException
vorhalteZeit
- parametrierte Vorhaltezeit in Sekunden
PersistenceException
public void writeContainerHeader() throws PersistenceException
PersistenceException
public static int getHeaderLen()
accessContainer()
im Zugriff befindlichen Containers.
PersistenceException
public static int getTotalDataOverhead()
public void setListOfIndexesDeleted(java.io.RandomAccessFile raf) throws java.io.IOException
raf
-
java.io.IOException
public java.util.ArrayList<java.lang.Long> getListOfIndexesDeleted()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |