|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectuk.ac.starlink.table.storage.AdaptiveByteStore
ByteStore which adopts a hybrid approach between use of memory and use of disk. Bytes are written into an array in memory up to a given size limit; if the amount written exceeds this limit, it's all put in a temporary file instead. This is intended to be a general purpose implementation that does something sensible most of the time.
Constructor Summary | |
AdaptiveByteStore()
Constructs a new store with a default memory limit. |
|
AdaptiveByteStore(int memLimit)
Constructs a new store with a given maximum memory limit. |
Method Summary | |
void |
close()
Tidies up. |
void |
copy(OutputStream out)
Takes all the data written so far into this store's sink stream and copies it to a destination stream. |
OutputStream |
getOutputStream()
Returns an output stream which can be used to write to the store. |
ByteBuffer |
toByteBuffer()
Returns a byte buffer containing the bytes written to this store. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public AdaptiveByteStore(int memLimit) throws IOException
memLimit
- maximum size of in-memory bufferpublic AdaptiveByteStore() throws IOException
Method Detail |
public OutputStream getOutputStream()
ByteStore
BufferedOutputStream
for efficiency if required.
getOutputStream
in interface ByteStore
public void copy(OutputStream out) throws IOException
ByteStore
copy
in interface ByteStore
out
- data destination stream
IOException
public ByteBuffer toByteBuffer() throws IOException
ByteStore
Usual usage will be to write all data, then call this method once; this model may affect implementation decisions about efficiency.
toByteBuffer
in interface ByteStore
IOException
- if there is a problem, including if the
number of byte written exceeds Integer.MAX_VALUE
public void close()
ByteStore
close
in interface ByteStore
|
Copyright © 2004 CLRC: Central Laboratory of the Research Councils. All rights reserved. | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |