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.