|
CoherenceTM v3.3 Copyright© 2000-2007 by Oracle Corporation |
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectcom.tangosol.io.AbstractWriteBuffer.AbstractBufferOutput
public class AbstractWriteBuffer.AbstractBufferOutput
AbstractBufferOutput is a concrete implementation of BufferOutput for the non-concrete AbstractWriteBuffer implementation.
| Field Summary | |
|---|---|
protected int |
m_ofWrite
Current write offset within the containing WriteBuffer. |
| Constructor Summary | |
|---|---|
AbstractWriteBuffer.AbstractBufferOutput()
Construct an AbstractBufferOutput that will begin writing at the start of the containing WriteBuffer. |
|
AbstractWriteBuffer.AbstractBufferOutput(int of)
Construct an AbstractBufferOutput that will begin writing at the specified offset within the containing WriteBuffer. |
|
| Method Summary | |
|---|---|
protected int |
calcUTF(String s)
Figure out how many bytes it will take to hold the passed String. |
void |
close()
Close the OutputStream and release any system resources associated with it. |
void |
flush()
Flushes this OutputStream and forces any buffered output bytes to be written. |
protected void |
formatUTF(byte[] ab,
int ofb,
int cb,
String s)
Format the passed String as UTF into the passed byte array. |
WriteBuffer |
getBuffer()
Get the WriteBuffer object that this BufferOutput is writeing to. |
protected char[] |
getCharBuf()
Obtain a temp buffer used to avoid allocations from String.toCharArray() and repeated calls to
String.charAt(int). |
int |
getOffset()
Determine the current offset of this BufferOutput within the underlying WriteBuffer. |
void |
setOffset(int of)
Specify the offset of the next byte to write to the underlying WriteBuffer. |
void |
write(byte[] ab)
Writes all the bytes in the array ab. |
void |
write(byte[] ab,
int of,
int cb)
Writes cb bytes starting at offset of from the array ab. |
void |
write(int b)
Writes the eight low-order bits of the argument b. |
void |
writeBoolean(boolean f)
Writes the boolean value f. |
void |
writeBuffer(ReadBuffer buf)
Write all the bytes from the passed ReadBuffer object. |
void |
writeBuffer(ReadBuffer buf,
int of,
int cb)
Write cb bytes from the passed ReadBuffer object starting at offset of within the passed ReadBuffer. |
void |
writeByte(int b)
Writes the eight low-order bits of the argument b. |
void |
writeBytes(String s)
Writes the String s, but only the low-order byte from each character of the String is written. |
void |
writeChar(int ch)
Writes a char value, comprised of the 16 low-order bits of the argument ch; the 16 high-order bits of ch are ignored. |
void |
writeChars(String s)
Writes the String s as a sequence of characters. |
void |
writeDouble(double dfl)
Writes a double value. |
void |
writeFloat(float fl)
Writes a float value. |
void |
writeInt(int n)
Writes an int value. |
void |
writeLong(long l)
Writes a long value. |
void |
writePackedInt(int n)
Write an int value using a variable-length storage-format. |
void |
writePackedLong(long l)
Write a long value using a variable-length storage-format. |
void |
writeSafeUTF(String s)
Write a variable-length encoded UTF packed String. |
void |
writeShort(int n)
Writes a short value, comprised of the 16 low-order bits of the argument n; the 16 high-order bits of n are ignored. |
void |
writeStream(InputStreaming stream)
Write the remaining contents of the specified InputStreaming object. |
void |
writeStream(InputStreaming stream,
int cb)
Write the specified number of bytes of the specified InputStreaming object. |
void |
writeUTF(String s)
Writes the String s as a sequence of characters, but using UTF-8 encoding for the characters, and including the String length data so that the corresponding DataInput.readUTF()
method can reconstitute a String from the written data. |
| Field Detail |
|---|
protected int m_ofWrite
| Constructor Detail |
|---|
public AbstractWriteBuffer.AbstractBufferOutput()
public AbstractWriteBuffer.AbstractBufferOutput(int of)
of - the offset at which to begin writing| Method Detail |
|---|
public void write(int b)
throws IOException
write in interface OutputStreamingwrite in interface DataOutputb - the byte to write (passed as an integer)
IOException - if an I/O error occurs
public void write(byte[] ab)
throws IOException
write in interface OutputStreamingwrite in interface DataOutputab - the byte array to write
IOException - if an I/O error occurs
NullPointerException - if ab is null
public void write(byte[] ab,
int of,
int cb)
throws IOException
write in interface OutputStreamingwrite in interface DataOutputab - the byte array to write fromof - the offset into ab to start writing fromcb - the number of bytes from ab to write
IOException - if an I/O error occurs
NullPointerException - if ab is null
IndexOutOfBoundsException - if of is negative, or
cb is negative, or of+cb is greater than
ab.length
public void flush()
throws IOException
flush in interface OutputStreamingIOException - if an I/O error occurs
public void close()
throws IOException
BufferOutput implementations do not pass this call down onto an underlying stream, if any.
close in interface OutputStreamingclose in interface WriteBuffer.BufferOutputIOException - if an I/O error occurs
public void writeBoolean(boolean f)
throws IOException
writeBoolean in interface DataOutputf - the boolean to be written
IOException - if an I/O error occurs
public void writeByte(int b)
throws IOException
writeByte in interface DataOutputb - the byte to write (passed as an integer)
IOException - if an I/O error occurs
public void writeShort(int n)
throws IOException
writeShort in interface DataOutputn - the short to write (passed as an integer)
IOException - if an I/O error occurs
public void writeChar(int ch)
throws IOException
writeChar in interface DataOutputch - the char to write (passed as an integer)
IOException - if an I/O error occurs
public void writeInt(int n)
throws IOException
writeInt in interface DataOutputn - the int to write
IOException - if an I/O error occurs
public void writeLong(long l)
throws IOException
writeLong in interface DataOutputl - the long to write
IOException - if an I/O error occurs
public void writeFloat(float fl)
throws IOException
writeFloat in interface DataOutputfl - the float to write
IOException - if an I/O error occurs
public void writeDouble(double dfl)
throws IOException
writeDouble in interface DataOutputdfl - the double to write
IOException - if an I/O error occurs
public void writeBytes(String s)
throws IOException
writeBytes in interface DataOutputs - the String to write
IOException - if an I/O error occurs
NullPointerException - if s is null
public void writeChars(String s)
throws IOException
writeChars in interface DataOutputs - the String to write
IOException - if an I/O error occurs
NullPointerException - if s is null
public void writeUTF(String s)
throws IOException
DataInput.readUTF()
method can reconstitute a String from the written data.
writeUTF in interface DataOutputs - the String to write
IOException - if an I/O error occurs
NullPointerException - if s is nullpublic WriteBuffer getBuffer()
getBuffer in interface WriteBuffer.BufferOutput
public void writeSafeUTF(String s)
throws IOException
The binary format for a Safe UTF value is a "packed int" for the binary length followed by the UTF-encoded byte stream. The length is either -1 (indicating a null String) or in the range 0 .. Integer.MAX_VALUE (inclusive). The UTF-encoded portion uses a format idential to DataOutput.
writeSafeUTF in interface WriteBuffer.BufferOutputs - a String value to write; may be null
IOException - if an I/O error occurs
public void writePackedInt(int n)
throws IOException
The format differs from DataOutput in that DataOutput always uses a fixed-length 4-byte Big Endian binary format for int values. The "packed" format includes a sign bit (0x40) and a continuation bit (0x80) in the first byte, followed by the least 6 significant bits of the int value. Subsequent bytes (each appearing only if the previous byte had its continuation bit set) include a continuation bit (0x80) and the next least 7 significant bits of the int value. In this way, a 32-bit value is encoded into 1-5 bytes, depending on the magnitude of the int being encoded.
writePackedInt in interface WriteBuffer.BufferOutputn - an int value to write
IOException - if an I/O error occurs
public void writePackedLong(long l)
throws IOException
The format differs from DataOutput in that DataOutput always uses a fixed-length 8-byte Big Endian binary format for long values. The "packed" format includes a sign bit (0x40) and a continuation bit (0x80) in the first byte, followed by the least 6 significant bits of the long value. Subsequent bytes (each appearing only if the previous byte had its continuation bit set) include a continuation bit (0x80) and the next least 7 significant bits of the long value. In this way, a 64-bit value is encoded into 1-10 bytes, depending on the magnitude of the int being encoded.
writePackedLong in interface WriteBuffer.BufferOutputl - a long value to write
IOException - if an I/O error occurs
public void writeBuffer(ReadBuffer buf)
throws IOException
This is functionally equivalent to the following code:
getBuffer().write(getOffset(), buf);
writeBuffer in interface WriteBuffer.BufferOutputbuf - a ReadBuffer object
IOException - if an I/O error occurs
public void writeBuffer(ReadBuffer buf,
int of,
int cb)
throws IOException
This is functionally equivalent to the following code:
getBuffer().write(getOffset(), buf, of, cb);
writeBuffer in interface WriteBuffer.BufferOutputbuf - a ReadBuffer objectof - the offset within the ReadBuffer of the first byte to
write to this BufferOutputcb - the number of bytes to write
IOException - if an I/O error occurs
public void writeStream(InputStreaming stream)
throws IOException
This is functionally equivalent to the following code:
getBuffer().write(getOffset(), stream);
writeStream in interface WriteBuffer.BufferOutputstream - the stream of bytes to write to this BufferOutput
IOException - if an I/O error occurs, specifically if an
IOException occurs reading from the passed stream
public void writeStream(InputStreaming stream,
int cb)
throws IOException
This is functionally equivalent to the following code:
getBuffer().write(getOffset(), stream, cb);
writeStream in interface WriteBuffer.BufferOutputstream - the stream of bytes to write to this BufferOutputcb - the exact number of bytes to read from the stream
and write to this BufferOutput
EOFException - if the stream is exhausted before
the number of bytes indicated could be read
IOException - if an I/O error occurs, specifically if an
IOException occurs reading from the passed streampublic int getOffset()
getOffset in interface WriteBuffer.BufferOutputpublic void setOffset(int of)
setOffset in interface WriteBuffer.BufferOutputof - the offset of the next byte to write to the
WriteBuffer
IndexOutOfBoundsException - if of < 0 or
of > getBuffer().getMaximumCapacity()protected final char[] getCharBuf()
String.toCharArray() and repeated calls to
String.charAt(int).
protected final int calcUTF(String s)
s - the String
protected final void formatUTF(byte[] ab,
int ofb,
int cb,
String s)
ab - the byte array to format intoofb - the offset into the byte array to write the first bytecb - the number of bytes that the UTF will takes - the String
|
CoherenceTM v3.3 Copyright© 2000-2007 by Oracle Corporation |
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||