public class MicroHessianOutput
extends java.lang.Object
MicroHessianOutput does not depend on any classes other than in J2ME, so it can be extracted independently into a smaller package.
MicroHessianOutput is unbuffered, so any client needs to provide its own buffering.
OutputStream os = ...; // from http connection MicroHessianOutput out = new MicroHessianOutput(os); String value; out.startCall("hello"); // start hello call out.writeString("arg1"); // write a string argument out.completeCall(); // complete the call
Modifier and Type | Field and Description |
---|---|
protected java.io.OutputStream |
os |
Constructor and Description |
---|
MicroHessianOutput()
Creates an uninitialized Hessian output stream.
|
MicroHessianOutput(java.io.OutputStream os)
Creates a new Hessian output stream, initialized with an
underlying output stream.
|
Modifier and Type | Method and Description |
---|---|
void |
completeCall()
Writes the method call:
|
void |
init(java.io.OutputStream os) |
void |
printLenString(java.lang.String v)
Prints a string to the stream, encoded as UTF-8 with preceeding length
|
void |
printString(java.lang.String v)
Prints a string to the stream, encoded as UTF-8
|
void |
printString(java.lang.String v,
int offset,
int length)
Prints a string to the stream, encoded as UTF-8
|
void |
startCall(java.lang.String method)
Writes the method call:
|
void |
writeBoolean(boolean value)
Writes a boolean value to the stream.
|
void |
writeBytes(byte[] buffer)
Writes a byte array to the stream.
|
void |
writeBytes(byte[] buffer,
int offset,
int length)
Writes a byte array to the stream.
|
void |
writeCustomObject(java.lang.Object object)
Applications which override this can do custom serialization.
|
void |
writeInt(int value)
Writes an integer value to the stream.
|
void |
writeListBegin(int length,
java.lang.String type)
Writes the list header to the stream.
|
void |
writeListEnd()
Writes the tail of the list to the stream.
|
void |
writeLong(long value)
Writes a long value to the stream.
|
void |
writeMapBegin(java.lang.String type)
Writes the map header to the stream.
|
void |
writeMapEnd()
Writes the tail of the map to the stream.
|
void |
writeNull()
Writes a null value to the stream.
|
void |
writeObject(java.lang.Object object)
Writes a generic object to the output stream.
|
void |
writeRef(int value)
Writes a reference.
|
void |
writeRemote(java.lang.String type,
java.lang.String url)
Writes a remote object reference to the stream.
|
void |
writeString(java.lang.String value)
Writes a string value to the stream using UTF-8 encoding.
|
void |
writeUTCDate(long time)
Writes a date to the stream.
|
public MicroHessianOutput(java.io.OutputStream os)
os
- the underlying output stream.public MicroHessianOutput()
public void init(java.io.OutputStream os)
public void startCall(java.lang.String method) throws java.io.IOException
c major minor
m b16 b8 method-namek
method
- the method name to call.java.io.IOException
public void completeCall() throws java.io.IOException
z
java.io.IOException
public void writeBoolean(boolean value) throws java.io.IOException
T
F
value
- the boolean value to write.java.io.IOException
public void writeInt(int value) throws java.io.IOException
I b32 b24 b16 b8
value
- the integer value to write.java.io.IOException
public void writeLong(long value) throws java.io.IOException
L b64 b56 b48 b40 b32 b24 b16 b8
value
- the long value to write.java.io.IOException
public void writeUTCDate(long time) throws java.io.IOException
T b64 b56 b48 b40 b32 b24 b16 b8
time
- the date in milliseconds from the epoch in UTCjava.io.IOException
public void writeNull() throws java.io.IOException
N
value
- the string value to write.java.io.IOException
public void writeString(java.lang.String value) throws java.io.IOException
S b16 b8 string-value
If the value is null, it will be written as
N
value
- the string value to write.java.io.IOException
public void writeBytes(byte[] buffer) throws java.io.IOException
B b16 b18 bytes
If the value is null, it will be written as
N
value
- the string value to write.java.io.IOException
public void writeBytes(byte[] buffer, int offset, int length) throws java.io.IOException
B b16 b18 bytes
If the value is null, it will be written as
N
value
- the string value to write.java.io.IOException
public void writeRef(int value) throws java.io.IOException
R b32 b24 b16 b8
value
- the integer value to write.java.io.IOException
public void writeObject(java.lang.Object object) throws java.io.IOException
java.io.IOException
public void writeCustomObject(java.lang.Object object) throws java.io.IOException
object
- the object to write.java.io.IOException
public void writeListBegin(int length, java.lang.String type) throws java.io.IOException
writeListBegin
followed by the list contents and then
call writeListEnd
.
<list>
<type>java.util.ArrayList</type>
<length>3</length>
<int>1</int>
<int>2</int>
<int>3</int>
</list>
java.io.IOException
public void writeListEnd() throws java.io.IOException
java.io.IOException
public void writeMapBegin(java.lang.String type) throws java.io.IOException
writeMapBegin
followed by the map contents and then
call writeMapEnd
.
Mt b16 b8 type ( )z
java.io.IOException
public void writeMapEnd() throws java.io.IOException
java.io.IOException
public void writeRemote(java.lang.String type, java.lang.String url) throws java.io.IOException
'r' 't' b16 b8 type url
java.io.IOException
public void printLenString(java.lang.String v) throws java.io.IOException
v
- the string to print.java.io.IOException
public void printString(java.lang.String v) throws java.io.IOException
v
- the string to print.java.io.IOException
public void printString(java.lang.String v, int offset, int length) throws java.io.IOException
v
- the string to print.java.io.IOException