public static class CacheManager.Cache extends Object
| Modifier and Type | Field and Description |
|---|---|
private int |
_bufferedCount
Anzahl der bisher von diesem Cache zwischengespeicherten Datenblöcke.
|
private int |
_bufferSize
Kapazität des Zwischenspeichers in Byte
|
private int |
_containerSize
Größe der ContainerDatei wie sie nach dem Schreiben der noch zwischengespeicherten Daten wäre.
|
private boolean |
_createFile
true, falls beim nächsten Schreibvorgang eine neue Datei erzeugt werden soll; false, false beim nächsten Schreibvorgang an die
bereits vorhandenen Datei angehangen werden soll. |
private File |
_file
Datei in die zwischengespeicherte Daten letztendlich geschrieben werden sollen.
|
private ByteArrayOutputStream |
_out
Zwischenspeicher für noch zu schreibende Bytes.
|
private int |
_processedCount
Anzahl der bisher von diesem Cache bearbeiteten Datenblöcke.
|
private int |
_unbufferedCount
Anzahl der bisher von diesem Cache nicht zwischengespeicherten Datenblöcke.
|
private int |
_writeCount
Anzahl der bisher durchgeführten Datei-Schreibvorgänge in diesem Container.
|
private long |
_writtenBytes |
| Modifier | Constructor and Description |
|---|---|
private |
CacheManager.Cache(File file,
boolean createFile,
int bufferSize)
Erzeugt einen neuen Cache für die angegebene Datei.
|
| Modifier and Type | Method and Description |
|---|---|
void |
cache(byte[] data,
int length)
Cachen der übergebenen Daten.
|
void |
flush()
Schreibt die zwischengespeicherten Daten in die ContainerDatei.
|
(package private) int |
getBufferedCount() |
(package private) int |
getBufferSize() |
long |
getContainerSize()
Bestimmt die Größe der ContainerDatei wie sie nach dem Schreiben der noch zwischengespeicherten Daten wäre.
|
(package private) File |
getFile() |
(package private) int |
getProcessedCount() |
(package private) int |
getUnbufferedCount() |
(package private) int |
getWriteCount() |
(package private) boolean |
isCreateFile() |
String |
toString() |
private void |
writeCacheAndDataToFile(byte[] data,
int offset,
int length)
Schreibt eventuell zwischengespeicherte Daten und optional zusätzlich einen weiteren Datensatz in die ContainerDatei
|
private final File _file
private boolean _createFile
true, falls beim nächsten Schreibvorgang eine neue Datei erzeugt werden soll; false, false beim nächsten Schreibvorgang an die
bereits vorhandenen Datei angehangen werden soll.private final int _bufferSize
private final ByteArrayOutputStream _out
private int _containerSize
private int _writeCount
private int _processedCount
private int _bufferedCount
private int _unbufferedCount
private long _writtenBytes
private CacheManager.Cache(File file, boolean createFile, int bufferSize)
file - Datei in die zwischengespeicherte Daten letztendlich geschrieben werden sollen.createFile - true, falls eine neue Datei erzeugt werden soll; false, false an die bereits vorhandenen Datei angehangen
werden soll.bufferSize - Kapazität des Zwischenspeichers in Bytes.File getFile()
boolean isCreateFile()
true, falls beim nächsten Schreibvorgang eine neue Datei erzeugt werden soll; false, false beim nächsten Schreibvorgang
an die bereits vorhandenen Datei angehangen werden soll.int getBufferSize()
int getWriteCount()
int getProcessedCount()
int getBufferedCount()
int getUnbufferedCount()
public long getContainerSize()
public void cache(byte[] data,
int length)
throws PersistenceException
data - Array mit den zu speichernden Byteslength - Anzahl der zu speichernden Bytes im ArrayPersistenceException - Wenn beim Schreiben der Daten ein Problem aufgetreten ist.public void flush()
throws PersistenceException
PersistenceException - Wenn beim Schreiben der Daten ein Problem aufgetreten ist.private void writeCacheAndDataToFile(byte[] data,
int offset,
int length)
throws PersistenceException
data - Array mit weiteren zu schreibenden Daten oder null, falls nur die zwischengespeicherten Daten geschrieben werden sollen.offset - Index des ersten zu schreibenden Bytes im Arraylength - Anzahl der zu schreibenden Bytes im ArrayPersistenceException - Wenn beim Schreiben der Daten ein Problem aufgetreten ist.