Package org.apache.james.mime4j.storage
Class ThresholdStorageProvider.ThresholdStorageOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.apache.james.mime4j.storage.StorageOutputStream
-
- org.apache.james.mime4j.storage.ThresholdStorageProvider.ThresholdStorageOutputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
- Enclosing class:
- ThresholdStorageProvider
private final class ThresholdStorageProvider.ThresholdStorageOutputStream extends StorageOutputStream
-
-
Field Summary
Fields Modifier and Type Field Description private ByteArrayBuffer
head
private StorageOutputStream
tail
-
Constructor Summary
Constructors Constructor Description ThresholdStorageOutputStream()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes this output stream.protected Storage
toStorage0()
Has to be implemented by a concrete subclass to create aStorage
object from the bytes that have been written to thisStorageOutputStream
.protected void
write0(byte[] buffer, int offset, int length)
Has to implemented by a concrete subclass to write bytes from the given byte array to thisStorageOutputStream
.-
Methods inherited from class org.apache.james.mime4j.storage.StorageOutputStream
toStorage, write, write, write
-
-
-
-
Field Detail
-
head
private final ByteArrayBuffer head
-
tail
private StorageOutputStream tail
-
-
Method Detail
-
close
public void close() throws java.io.IOException
Description copied from class:StorageOutputStream
Closes this output stream. Subclasses that override this method have to invokesuper.close()
.This implementation never throws an
IOException
but a subclass might.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classStorageOutputStream
- Throws:
java.io.IOException
- if an I/O error occurs.
-
write0
protected void write0(byte[] buffer, int offset, int length) throws java.io.IOException
Description copied from class:StorageOutputStream
Has to implemented by a concrete subclass to write bytes from the given byte array to thisStorageOutputStream
. This method gets called byStorageOutputStream.write(int)
,StorageOutputStream.write(byte[])
andStorageOutputStream.write(byte[], int, int)
. All the required preconditions have already been checked by these methods, including the check if the output stream has already been closed.- Specified by:
write0
in classStorageOutputStream
- Parameters:
buffer
- buffer containing bytes to write.offset
- start offset in the buffer.length
- number of bytes to write.- Throws:
java.io.IOException
- if an I/O error occurs.
-
toStorage0
protected Storage toStorage0() throws java.io.IOException
Description copied from class:StorageOutputStream
Has to be implemented by a concrete subclass to create aStorage
object from the bytes that have been written to thisStorageOutputStream
. This method gets called byStorageOutputStream.toStorage()
after the preconditions have been checked. The implementation can also be sure that this methods gets invoked only once.- Specified by:
toStorage0
in classStorageOutputStream
- Returns:
- a
Storage
object as described above. - Throws:
java.io.IOException
- if an I/O error occurs.
-
-