|
|||||||||
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.burlap.io.AbstractBurlapOutput
com.caucho.burlap.io.BurlapOutput
public class BurlapOutput
Output stream for Burlap requests, compatible with microedition Java. It only uses classes and types available in JDK.
Since BurlapOutput does not depend on any classes other than in the JDK, it can be extracted independently into a smaller package.
BurlapOutput is unbuffered, so any client needs to provide its own buffering.
OutputStream os = ...; // from http connection BurlapOutput out = new BurlapOutput(os); String value; out.startCall("hello"); // start hello call out.writeString("arg1"); // write a string argument out.completeCall(); // complete the call
Field Summary | |
---|---|
protected java.io.OutputStream |
os
|
Fields inherited from class com.caucho.hessian.io.AbstractHessianOutput |
---|
_serializerFactory |
Constructor Summary | |
---|---|
BurlapOutput()
Creates an uninitialized Burlap output stream. |
|
BurlapOutput(java.io.OutputStream os)
Creates a new Burlap output stream, initialized with an underlying output stream. |
Method Summary | |
---|---|
boolean |
addRef(java.lang.Object object)
If the object has already been written, just write its ref. |
void |
call(java.lang.String method,
java.lang.Object[] args)
Writes a complete method call. |
void |
completeCall()
Completes. |
void |
completeReply()
Completes reading the reply |
void |
init(java.io.OutputStream os)
Initializes the output |
protected void |
print(char v)
Prints a char to the stream. |
protected void |
print(double v)
Prints a double to the stream. |
protected void |
print(int v)
Prints an integer to the stream. |
protected void |
print(long v)
Prints a long to the stream. |
protected void |
print(java.lang.String s)
Prints a string as ascii to the stream. |
void |
printDate(java.util.Calendar calendar)
Prints a date. |
void |
printString(char[] v,
int offset,
int length)
Prints a string to the stream, encoded as UTF-8 |
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 |
boolean |
removeRef(java.lang.Object obj)
Removes a reference. |
boolean |
replaceRef(java.lang.Object oldRef,
java.lang.Object newRef)
Replaces a reference from one object to another. |
void |
startCall()
Starts the method call. |
void |
startCall(java.lang.String method)
Starts the method call. |
void |
startReply()
Starts the reply |
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 |
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(java.lang.String code,
java.lang.String message,
java.lang.Object detail)
Writes a fault. |
void |
writeHeader(java.lang.String name)
Writes a header name. |
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 |
writeMethod(java.lang.String method)
Writes the method for a call. |
void |
writeNull()
Writes a null value to the stream. |
void |
writeObject(java.lang.Object object)
Writes any 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(char[] buffer,
int offset,
int length)
Writes a string value to the stream using UTF-8 encoding. |
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. |
Methods inherited from class com.caucho.hessian.io.AbstractHessianOutput |
---|
setSerializerFactory |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.io.OutputStream os
Constructor Detail |
---|
public BurlapOutput(java.io.OutputStream os)
os
- the underlying output stream.public BurlapOutput()
Method Detail |
---|
public void init(java.io.OutputStream os)
init
in class com.caucho.hessian.io.AbstractHessianOutput
public void call(java.lang.String method, java.lang.Object[] args) throws java.io.IOException
java.io.IOException
public void startCall(java.lang.String method) throws java.io.IOException
startCall
instead of call
if they wanted finer control over
writing the arguments, or needed to write headers.
<burlap:call>
<method>method-name</method>
startCall
in class com.caucho.hessian.io.AbstractHessianOutput
method
- the method name to call.
java.io.IOException
public void startCall() throws java.io.IOException
startCall
instead of call
if they wanted finer control over
writing the arguments, or needed to write headers.
<method>method-name</method>
method
- the method name to call.
java.io.IOException
public void writeMethod(java.lang.String method) throws java.io.IOException
<method>value</method>
method
- the method name to call.
java.io.IOException
public void completeCall() throws java.io.IOException
</burlap:call>
completeCall
in class com.caucho.hessian.io.AbstractHessianOutput
java.io.IOException
public void startReply() throws java.io.IOException
A successful completion will have a single value:
r
java.io.IOException
public void completeReply() throws java.io.IOException
A successful completion will have a single value:
</burlap:reply>
java.io.IOException
public void writeHeader(java.lang.String name) throws java.io.IOException
<header>foo</header><int>value</int>
java.io.IOException
public void writeFault(java.lang.String code, java.lang.String message, java.lang.Object detail) throws java.io.IOException
<fault>
<string>code
<string>the fault code
<string>message
<string>the fault mesage
<string>detail
<map>t\x00\xnnjavax.ejb.FinderException
...
</map>
</fault>
code
- the fault code, a three digit
java.io.IOException
public void writeObject(java.lang.Object object) throws java.io.IOException
writeObject
in class com.caucho.hessian.io.AbstractHessianOutput
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>
writeListBegin
in class com.caucho.hessian.io.AbstractHessianOutput
java.io.IOException
public void writeListEnd() throws java.io.IOException
writeListEnd
in class com.caucho.hessian.io.AbstractHessianOutput
java.io.IOException
public void writeMapBegin(java.lang.String type) throws java.io.IOException
writeMapBegin
followed by the map contents and then
call writeMapEnd
.
<map>
<type>type</type>
(<key> <value>)*
</map>
writeMapBegin
in class com.caucho.hessian.io.AbstractHessianOutput
java.io.IOException
public void writeMapEnd() throws java.io.IOException
writeMapEnd
in class com.caucho.hessian.io.AbstractHessianOutput
java.io.IOException
public void writeRemote(java.lang.String type, java.lang.String url) throws java.io.IOException
<remote>
<type>test.account.Account</type>
<string>http://caucho.com/foo;ejbid=bar</string>
</remote>
writeRemote
in class com.caucho.hessian.io.AbstractHessianOutput
java.io.IOException
public void writeBoolean(boolean value) throws java.io.IOException
<boolean>0</boolean>
<boolean>1</boolean>
writeBoolean
in class com.caucho.hessian.io.AbstractHessianOutput
value
- the boolean value to write.
java.io.IOException
public void writeInt(int value) throws java.io.IOException
<int>int value</int>
writeInt
in class com.caucho.hessian.io.AbstractHessianOutput
value
- the integer value to write.
java.io.IOException
public void writeLong(long value) throws java.io.IOException
<long>int value</long>
writeLong
in class com.caucho.hessian.io.AbstractHessianOutput
value
- the long value to write.
java.io.IOException
public void writeDouble(double value) throws java.io.IOException
<double>value</double>
writeDouble
in class com.caucho.hessian.io.AbstractHessianOutput
value
- the double value to write.
java.io.IOException
public void writeUTCDate(long time) throws java.io.IOException
<date>iso8901</date>
writeUTCDate
in class com.caucho.hessian.io.AbstractHessianOutput
time
- the date in milliseconds from the epoch in UTC
java.io.IOException
public void writeNull() throws java.io.IOException
<null></null>
writeNull
in class com.caucho.hessian.io.AbstractHessianOutput
value
- the string value to write.
java.io.IOException
public void writeString(java.lang.String value) throws java.io.IOException
<string>string-value</string>
If the value is null, it will be written as
<null></null>
writeString
in class com.caucho.hessian.io.AbstractHessianOutput
value
- the string value to write.
java.io.IOException
public void writeString(char[] buffer, int offset, int length) throws java.io.IOException
S b16 b8 string-value
If the value is null, it will be written as
N
writeString
in class com.caucho.hessian.io.AbstractHessianOutput
value
- the string value to write.
java.io.IOException
public void writeBytes(byte[] buffer) throws java.io.IOException
<base64>bytes</base64>
If the value is null, it will be written as
<null></null>
writeBytes
in class com.caucho.hessian.io.AbstractHessianOutput
value
- the string value to write.
java.io.IOException
public void writeBytes(byte[] buffer, int offset, int length) throws java.io.IOException
<base64>bytes</base64>
If the value is null, it will be written as
<null></null>
writeBytes
in class com.caucho.hessian.io.AbstractHessianOutput
value
- the string value to write.
java.io.IOException
public void writeByteBufferPart(byte[] buffer, int offset, int length) throws java.io.IOException
b b16 b18 bytes
writeByteBufferPart
in class com.caucho.hessian.io.AbstractHessianOutput
java.io.IOException
public void writeByteBufferEnd(byte[] buffer, int offset, int length) throws java.io.IOException
b b16 b18 bytes
writeByteBufferEnd
in class com.caucho.hessian.io.AbstractHessianOutput
java.io.IOException
public void writeRef(int value) throws java.io.IOException
<ref>int</ref>
writeRef
in class com.caucho.hessian.io.AbstractHessianOutput
value
- the integer value to write.
java.io.IOException
public boolean addRef(java.lang.Object object) throws java.io.IOException
addRef
in class com.caucho.hessian.io.AbstractHessianOutput
java.io.IOException
public boolean removeRef(java.lang.Object obj) throws java.io.IOException
removeRef
in class com.caucho.hessian.io.AbstractHessianOutput
java.io.IOException
public boolean replaceRef(java.lang.Object oldRef, java.lang.Object newRef) throws java.io.IOException
replaceRef
in class com.caucho.hessian.io.AbstractHessianOutput
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
public void printString(char[] v, int offset, int length) throws java.io.IOException
v
- the string to print.
java.io.IOException
public void printDate(java.util.Calendar calendar) throws java.io.IOException
date
- the date to print.
java.io.IOException
protected void print(char v) throws java.io.IOException
v
- the char to print.
java.io.IOException
protected void print(int v) throws java.io.IOException
v
- the integer to print.
java.io.IOException
protected void print(long v) throws java.io.IOException
v
- the long to print.
java.io.IOException
protected void print(double v) throws java.io.IOException
v
- the double to print.
java.io.IOException
protected void print(java.lang.String s) throws java.io.IOException
s
- the ascii string to print.
java.io.IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |