|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.caucho.hessian.io.AbstractHessianOutput
com.caucho.hessian.io.HessianOutput
public class HessianOutput
Output stream for Hessian requests, compatible with microedition Java. It only uses classes and types available in JDK.
Since HessianOutput does not depend on any classes other than in the JDK, it can be extracted independently into a smaller package.
HessianOutput is unbuffered, so any client needs to provide its own buffering.
OutputStream os = ...; // from http connection
HessianOutput out = new HessianOutput(os);
String value;
out.startCall("hello"); // start hello call
out.writeString("arg1"); // write a string argument
out.completeCall(); // complete the call
| Field Summary | |
|---|---|
protected OutputStream |
os
|
| Fields inherited from class com.caucho.hessian.io.AbstractHessianOutput |
|---|
_serializerFactory |
| Constructor Summary | |
|---|---|
HessianOutput()
Creates an uninitialized Hessian output stream. |
|
HessianOutput(OutputStream os)
Creates a new Hessian output stream, initialized with an underlying output stream. |
|
| Method Summary | |
|---|---|
boolean |
addRef(Object object)
If the object has already been written, just write its ref. |
void |
call(String method,
Object[] args)
Writes a complete method call. |
void |
close()
|
void |
completeCall()
Completes. |
void |
completeReply()
Completes reading the reply A successful completion will have a single value: z |
void |
flush()
|
int |
getRef(Object obj)
|
void |
init(OutputStream os)
Initializes the output |
void |
printLenString(String v)
Prints a string to the stream, encoded as UTF-8 with preceeding length |
void |
printString(char[] v,
int offset,
int length)
Prints a string to the stream, encoded as UTF-8 |
void |
printString(String v)
Prints a string to the stream, encoded as UTF-8 |
void |
printString(String v,
int offset,
int length)
Prints a string to the stream, encoded as UTF-8 |
boolean |
removeRef(Object obj)
Removes a reference. |
boolean |
replaceRef(Object oldRef,
Object newRef)
Replaces a reference from one object to another. |
void |
resetReferences()
Resets the references for streaming. |
void |
setVersion(int version)
Sets the client's version. |
void |
startCall()
Writes the call tag. |
void |
startCall(String method,
int length)
Starts the method call. |
void |
startReply()
Starts the reply A successful completion will have a single value: r |
void |
writeBoolean(boolean value)
Writes a boolean value to the stream. |
void |
writeByteBufferEnd(byte[] buffer,
int offset,
int length)
Writes a byte buffer to the stream. |
void |
writeByteBufferPart(byte[] buffer,
int offset,
int length)
Writes a byte buffer to the stream. |
void |
writeByteBufferStart()
Writes a byte buffer 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 |
writeDouble(double value)
Writes a double value to the stream. |
void |
writeFault(String code,
String message,
Object detail)
Writes a fault. |
void |
writeHeader(String name)
Writes a header name. |
void |
writeInt(int value)
Writes an integer value to the stream. |
boolean |
writeListBegin(int length,
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(String type)
Writes the map header to the stream. |
void |
writeMapEnd()
Writes the tail of the map to the stream. |
void |
writeMethod(String method)
Writes the method tag. |
void |
writeNull()
Writes a null value to the stream. |
void |
writeObject(Object object)
Writes any object to the output stream. |
void |
writePlaceholder()
Writes a placeholder. |
void |
writeRef(int value)
Writes a reference. |
void |
writeRemote(String type,
String url)
Writes a remote object reference to the stream. |
void |
writeString(char[] buffer,
int offset,
int length)
Writes a string value to the stream using UTF-8 encoding. |
void |
writeString(String value)
Writes a string value to the stream using UTF-8 encoding. |
void |
writeUTCDate(long time)
Writes a date to the stream. |
| Methods inherited from class com.caucho.hessian.io.AbstractHessianOutput |
|---|
findSerializerFactory, getSerializerFactory, setSerializerFactory, setUnshared, writeByteStream, writeClassFieldLength, writeObjectBegin, writeObjectEnd, writeReply |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected OutputStream os
| Constructor Detail |
|---|
public HessianOutput(OutputStream os)
os - the underlying output stream.public HessianOutput()
| Method Detail |
|---|
public void init(OutputStream os)
init in class AbstractHessianOutputpublic void setVersion(int version)
public void call(String method,
Object[] args)
throws IOException
call in class AbstractHessianOutputIOException
public void startCall(String method,
int length)
throws IOException
startCall
instead of call if they wanted finer control over
writing the arguments, or needed to write headers.
c major minor
m b16 b8 method-name
startCall in class AbstractHessianOutputmethod - the method name to call.
IOException
public void startCall()
throws IOException
c major minor
startCall in class AbstractHessianOutputmethod - the method name to call.
IOException
public void writeMethod(String method)
throws IOException
m b16 b8 method-name
writeMethod in class AbstractHessianOutputmethod - the method name to call.
IOException
public void completeCall()
throws IOException
z
completeCall in class AbstractHessianOutputIOException
public void startReply()
throws IOException
A successful completion will have a single value:
r
startReply in class AbstractHessianOutputIOException
public void completeReply()
throws IOException
A successful completion will have a single value:
z
completeReply in class AbstractHessianOutputIOException
public void writeHeader(String name)
throws IOException
H b16 b8 foo value
writeHeader in class AbstractHessianOutputIOException
public void writeFault(String code,
String message,
Object detail)
throws IOException
f
<string>code
<string>the fault code
<string>message
<string>the fault mesage
<string>detail
mt\x00\xnnjavax.ejb.FinderException
...
z
z
writeFault in class AbstractHessianOutputcode - the fault code, a three digit
IOException
public void writeObject(Object object)
throws IOException
writeObject in class AbstractHessianOutputIOException
public boolean writeListBegin(int length,
String type)
throws IOException
writeListBegin followed by the list contents and then
call writeListEnd.
V
t b16 b8 type
l b32 b24 b16 b8
writeListBegin in class AbstractHessianOutputIOException
public void writeListEnd()
throws IOException
writeListEnd in class AbstractHessianOutputIOException
public void writeMapBegin(String type)
throws IOException
writeMapBegin followed by the map contents and then
call writeMapEnd.
Mt b16 b8 ( )z
writeMapBegin in class AbstractHessianOutputIOException
public void writeMapEnd()
throws IOException
writeMapEnd in class AbstractHessianOutputIOException
public void writeRemote(String type,
String url)
throws IOException
'r' 't' b16 b8 type url
IOException
public void writeBoolean(boolean value)
throws IOException
T
F
writeBoolean in class AbstractHessianOutputvalue - the boolean value to write.
IOException
public void writeInt(int value)
throws IOException
I b32 b24 b16 b8
writeInt in class AbstractHessianOutputvalue - the integer value to write.
IOException
public void writeLong(long value)
throws IOException
L b64 b56 b48 b40 b32 b24 b16 b8
writeLong in class AbstractHessianOutputvalue - the long value to write.
IOException
public void writeDouble(double value)
throws IOException
D b64 b56 b48 b40 b32 b24 b16 b8
writeDouble in class AbstractHessianOutputvalue - the double value to write.
IOException
public void writeUTCDate(long time)
throws IOException
T b64 b56 b48 b40 b32 b24 b16 b8
writeUTCDate in class AbstractHessianOutputtime - the date in milliseconds from the epoch in UTC
IOException
public void writeNull()
throws IOException
N
writeNull in class AbstractHessianOutputvalue - the string value to write.
IOException
public void writeString(String value)
throws IOException
S b16 b8 string-value
If the value is null, it will be written as
N
writeString in class AbstractHessianOutputvalue - the string value to write.
IOException
public void writeString(char[] buffer,
int offset,
int length)
throws IOException
S b16 b8 string-value
If the value is null, it will be written as
N
writeString in class AbstractHessianOutputvalue - the string value to write.
IOException
public void writeBytes(byte[] buffer)
throws IOException
B b16 b18 bytes
If the value is null, it will be written as
N
writeBytes in class AbstractHessianOutputvalue - the string value to write.
IOException
public void writeBytes(byte[] buffer,
int offset,
int length)
throws IOException
B b16 b18 bytes
If the value is null, it will be written as
N
writeBytes in class AbstractHessianOutputvalue - the string value to write.
IOException
public void writeByteBufferStart()
throws IOException
writeByteBufferStart in class AbstractHessianOutputIOException
public void writeByteBufferPart(byte[] buffer,
int offset,
int length)
throws IOException
b b16 b18 bytes
writeByteBufferPart in class AbstractHessianOutputIOException
public void writeByteBufferEnd(byte[] buffer,
int offset,
int length)
throws IOException
b b16 b18 bytes
writeByteBufferEnd in class AbstractHessianOutputIOException
public void writeRef(int value)
throws IOException
R b32 b24 b16 b8
writeRef in class AbstractHessianOutputvalue - the integer value to write.
IOException
public void writePlaceholder()
throws IOException
P
IOException
public boolean addRef(Object object)
throws IOException
addRef in class AbstractHessianOutputobject - the object to add as a reference.
IOExceptionpublic int getRef(Object obj)
getRef in class AbstractHessianOutputpublic void resetReferences()
resetReferences in class AbstractHessianOutput
public boolean removeRef(Object obj)
throws IOException
removeRef in class AbstractHessianOutputIOException
public boolean replaceRef(Object oldRef,
Object newRef)
throws IOException
replaceRef in class AbstractHessianOutputIOException
public void printLenString(String v)
throws IOException
v - the string to print.
IOException
public void printString(String v)
throws IOException
v - the string to print.
IOException
public void printString(String v,
int offset,
int length)
throws IOException
v - the string to print.
IOException
public void printString(char[] v,
int offset,
int length)
throws IOException
v - the string to print.
IOException
public void flush()
throws IOException
flush in class AbstractHessianOutputIOException
public void close()
throws IOException
close in class AbstractHessianOutputIOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||