java.lang.Object
org.glassfish.grizzly.streams.AbstractStreamWriter
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Stream
,StreamWriter
- Direct Known Subclasses:
DefaultStreamWriter
,TransformerStreamWriter
Write the primitive Java type to the current ByteBuffer. If it doesn't fit, call the BufferHandler, and write to the
result, which becomes the new current ByteBuffer. Arrays will be written across multiple ByteBuffers if necessary,
but all primitives will be written to a single ByteBuffer.
- Author:
- Ken Cavanaugh
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
-
Field Summary
Modifier and TypeFieldDescriptionprotected final boolean
protected static final Logger
protected final Output
protected static final Integer
protected static final GrizzlyFuture<Integer>
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractStreamWriter
(Connection connection, Output streamOutput) Create a new ByteBufferWriter. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
close
(CompletionHandler<Integer> completionHandler) Close theStreamWriter
and make sure all data was flushed.<E> GrizzlyFuture<Stream>
encode
(Transformer<E, Buffer> encoder, E object) <E> GrizzlyFuture<Stream>
encode
(Transformer<E, Buffer> encoder, E object, CompletionHandler<Stream> completionHandler) flush()
Cause the overflow handler to be called even if buffer is not full.flush
(CompletionHandler<Integer> completionHandler) Cause the overflow handler to be called even if buffer is not full.Get theConnection
this StreamWriter belongs to.long
getTimeout
(TimeUnit timeunit) Get the timeout for StreamWriter I/O operations.boolean
isClosed()
Returns true, if StreamReader has been closed, or false otherwise.void
setTimeout
(long timeout, TimeUnit timeunit) Set the timeout for StreamWriter I/O operations.void
writeBoolean
(boolean data) Write the boolean value to the StreamWriter.void
writeBooleanArray
(boolean[] data) Write the array of boolean values to the StreamWriter.void
Write theBuffer
to the StreamWriter.void
writeByte
(byte data) Write the byte value to the StreamWriter.void
writeByteArray
(byte[] data) Write the array of byte values to the StreamWriter.void
writeByteArray
(byte[] data, int offset, int length) Write the part of array of byte values to the StreamWriter, using specific offset and length values.void
writeChar
(char data) Write the char value to the StreamWriter.void
writeCharArray
(char[] data) Write the array of char values to the StreamWriter.void
writeDouble
(double data) Write the double value to the StreamWriter.void
writeDoubleArray
(double[] data) Write the array of double values to the StreamWriter.void
writeFloat
(float data) Write the float value to the StreamWriter.void
writeFloatArray
(float[] data) Write the array of float values to the StreamWriter.void
writeInt
(int data) Write the int value to the StreamWriter.void
writeIntArray
(int[] data) Write the array of int values to the StreamWriter.void
writeLong
(long data) Write the long value to the StreamWriter.void
writeLongArray
(long[] data) Write the array of long values to the StreamWriter.void
writeShort
(short data) Write the short value to the StreamWriter.void
writeShortArray
(short[] data) Write the array of short values to the StreamWriter.
-
Field Details
-
logger
-
ZERO
-
ZERO_READY_FUTURE
-
isOutputBuffered
protected final boolean isOutputBuffered -
output
-
-
Constructor Details
-
AbstractStreamWriter
Create a new ByteBufferWriter. An instance maintains a current buffer for use in writing. Whenever the current buffer is insufficient to hold the required data, the BufferHandler is called, and the result of the handler is the new current buffer. The handler is responsible for the disposition of the contents of the old buffer.
-
-
Method Details
-
flush
Cause the overflow handler to be called even if buffer is not full.- Specified by:
flush
in interfaceStreamWriter
- Throws:
IOException
-
flush
public GrizzlyFuture<Integer> flush(CompletionHandler<Integer> completionHandler) throws IOException Cause the overflow handler to be called even if buffer is not full.- Specified by:
flush
in interfaceStreamWriter
- Throws:
IOException
-
isClosed
public boolean isClosed()Returns true, if StreamReader has been closed, or false otherwise.- Specified by:
isClosed
in interfaceStreamWriter
- Returns:
- true, if StreamReader has been closed, or false otherwise.
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
close
public GrizzlyFuture<Integer> close(CompletionHandler<Integer> completionHandler) throws IOException Close theStreamWriter
and make sure all data was flushed.- Specified by:
close
in interfaceStreamWriter
- Throws:
IOException
-
writeBuffer
Write theBuffer
to the StreamWriter.- Specified by:
writeBuffer
in interfaceStreamWriter
- Parameters:
b
-Buffer
.- Throws:
IOException
-
writeBoolean
Write the boolean value to the StreamWriter.- Specified by:
writeBoolean
in interfaceStreamWriter
- Parameters:
data
- boolean value.- Throws:
IOException
-
writeByte
Write the byte value to the StreamWriter.- Specified by:
writeByte
in interfaceStreamWriter
- Parameters:
data
- byte value.- Throws:
IOException
-
writeChar
Write the char value to the StreamWriter.- Specified by:
writeChar
in interfaceStreamWriter
- Parameters:
data
- char value.- Throws:
IOException
-
writeShort
Write the short value to the StreamWriter.- Specified by:
writeShort
in interfaceStreamWriter
- Parameters:
data
- short value.- Throws:
IOException
-
writeInt
Description copied from interface:StreamWriter
Write the int value to the StreamWriter.- Specified by:
writeInt
in interfaceStreamWriter
- Parameters:
data
- int value.- Throws:
IOException
-
writeLong
Write the long value to the StreamWriter.- Specified by:
writeLong
in interfaceStreamWriter
- Parameters:
data
- long value.- Throws:
IOException
-
writeFloat
Write the float value to the StreamWriter.- Specified by:
writeFloat
in interfaceStreamWriter
- Parameters:
data
- float value.- Throws:
IOException
-
writeDouble
Write the double value to the StreamWriter.- Specified by:
writeDouble
in interfaceStreamWriter
- Parameters:
data
- double value.- Throws:
IOException
-
writeBooleanArray
Write the array of boolean values to the StreamWriter.- Specified by:
writeBooleanArray
in interfaceStreamWriter
- Parameters:
data
- array of boolean values.- Throws:
IOException
-
writeByteArray
Write the array of byte values to the StreamWriter.- Specified by:
writeByteArray
in interfaceStreamWriter
- Parameters:
data
- array of byte values.- Throws:
IOException
-
writeByteArray
Write the part of array of byte values to the StreamWriter, using specific offset and length values.- Specified by:
writeByteArray
in interfaceStreamWriter
- Parameters:
data
- array of byte values.offset
- array offset to start from.length
- number of bytes to write.- Throws:
IOException
-
writeCharArray
Write the array of char values to the StreamWriter.- Specified by:
writeCharArray
in interfaceStreamWriter
- Parameters:
data
- array of char values.- Throws:
IOException
-
writeShortArray
Write the array of short values to the StreamWriter.- Specified by:
writeShortArray
in interfaceStreamWriter
- Parameters:
data
- array of short values.- Throws:
IOException
-
writeIntArray
Write the array of int values to the StreamWriter.- Specified by:
writeIntArray
in interfaceStreamWriter
- Parameters:
data
- array of int values.- Throws:
IOException
-
writeLongArray
Write the array of long values to the StreamWriter.- Specified by:
writeLongArray
in interfaceStreamWriter
- Parameters:
data
- array of long values.- Throws:
IOException
-
writeFloatArray
Write the array of float values to the StreamWriter.- Specified by:
writeFloatArray
in interfaceStreamWriter
- Parameters:
data
- array of float values.- Throws:
IOException
-
writeDoubleArray
Write the array of double values to the StreamWriter.- Specified by:
writeDoubleArray
in interfaceStreamWriter
- Parameters:
data
- array of double values.- Throws:
IOException
-
encode
- Specified by:
encode
in interfaceStreamWriter
- Throws:
IOException
-
encode
public <E> GrizzlyFuture<Stream> encode(Transformer<E, Buffer> encoder, E object, CompletionHandler<Stream> completionHandler) throws IOException- Specified by:
encode
in interfaceStreamWriter
- Throws:
IOException
-
getConnection
Get theConnection
this StreamWriter belongs to.- Specified by:
getConnection
in interfaceStream
- Specified by:
getConnection
in interfaceStreamWriter
- Returns:
- the
Connection
this StreamWriter belongs to.
-
getTimeout
Get the timeout for StreamWriter I/O operations.- Specified by:
getTimeout
in interfaceStreamWriter
- Parameters:
timeunit
- timeout unitTimeUnit
.- Returns:
- the timeout for StreamWriter I/O operations.
-
setTimeout
Set the timeout for StreamWriter I/O operations.- Specified by:
setTimeout
in interfaceStreamWriter
- Parameters:
timeout
- the timeout for StreamWriter I/O operations.timeunit
- timeout unitTimeUnit
.
-