| com.caucho.burlap.io.AbstractBurlapOutput com.caucho.burlap.io.BurlapOutput
BurlapOutput | public class BurlapOutput extends AbstractBurlapOutput (Code) | | 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
|
Constructor Summary | |
public | BurlapOutput(OutputStream os) Creates a new Burlap output stream, initialized with an
underlying output stream. | public | BurlapOutput() Creates an uninitialized Burlap output stream. |
Method Summary | |
public boolean | addRef(Object object) If the object has already been written, just write its ref. | public void | call(String method, Object[] args) Writes a complete method call. | public void | completeCall() Completes. | public void | completeReply() | public void | init(OutputStream os) | protected void | print(char v) Prints a char 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(double v) Prints a double to the stream. | protected void | print(String s) Prints a string as ascii to the stream. | public void | printDate(Calendar calendar) Prints a date. | public void | printString(String v) | public void | printString(String v, int offset, int length) | public void | printString(char[] v, int offset, int length) | public boolean | removeRef(Object obj) Removes a reference. | public boolean | replaceRef(Object oldRef, Object newRef) Replaces a reference from one object to another. | public void | startCall(String method) Starts the method call. | public void | startCall() Starts the method call. | public void | startReply() | public void | writeBoolean(boolean value) Writes a boolean value to the stream. | public void | writeByteBufferEnd(byte[] buffer, int offset, int length) Writes a byte buffer to the stream. | public void | writeByteBufferPart(byte[] buffer, int offset, int length) Writes a byte buffer to the stream. | public void | writeByteBufferStart() Writes a byte buffer to the stream. | public void | writeBytes(byte[] buffer) Writes a byte array to the stream. | public void | writeBytes(byte[] buffer, int offset, int length) Writes a byte array to the stream. | public void | writeDouble(double value) Writes a double value to the stream. | public void | writeFault(String code, String message, Object detail) Writes a fault. | public void | writeHeader(String name) Writes a header name. | public void | writeInt(int value) Writes an integer value to the stream. | public boolean | writeListBegin(int length, String type) Writes the list header to the stream. | public void | writeListEnd() Writes the tail of the list to the stream. | public void | writeLong(long value) Writes a long value to the stream. | public void | writeMapBegin(String type) Writes the map header to the stream. | public void | writeMapEnd() Writes the tail of the map to the stream. | public void | writeMethod(String method) Writes the method for a call. | public void | writeNull() Writes a null value to the stream. | public void | writeObject(Object object) Writes any object to the output stream. | public void | writeRef(int value) Writes a reference. | public void | writeRemote(String type, String url) Writes a remote object reference to the stream. | public void | writeString(String value) Writes a string value to the stream using UTF-8 encoding. | public void | writeString(char[] buffer, int offset, int length) Writes a string value to the stream using UTF-8 encoding. | public void | writeUTCDate(long time) Writes a date to the stream. |
BurlapOutput | public BurlapOutput(OutputStream os)(Code) | | Creates a new Burlap output stream, initialized with an
underlying output stream.
Parameters: os - the underlying output stream. |
BurlapOutput | public BurlapOutput()(Code) | | Creates an uninitialized Burlap output stream.
|
addRef | public boolean addRef(Object object) throws IOException(Code) | | If the object has already been written, just write its ref.
true if we're writing a ref. |
completeCall | public void completeCall() throws IOException(Code) | | Completes.
</burlap:call>
|
completeReply | public void completeReply() throws IOException(Code) | | Completes reading the reply
A successful completion will have a single value:
</burlap:reply>
|
print | protected void print(char v) throws IOException(Code) | | Prints a char to the stream.
Parameters: v - the char to print. |
print | protected void print(int v) throws IOException(Code) | | Prints an integer to the stream.
Parameters: v - the integer to print. |
print | protected void print(long v) throws IOException(Code) | | Prints a long to the stream.
Parameters: v - the long to print. |
print | protected void print(double v) throws IOException(Code) | | Prints a double to the stream.
Parameters: v - the double to print. |
print | protected void print(String s) throws IOException(Code) | | Prints a string as ascii to the stream. Used for tags, etc.
that are known to the ascii.
Parameters: s - the ascii string to print. |
printDate | public void printDate(Calendar calendar) throws IOException(Code) | | Prints a date.
Parameters: date - the date to print. |
printString | public void printString(String v) throws IOException(Code) | | Prints a string to the stream, encoded as UTF-8
Parameters: v - the string to print. |
printString | public void printString(String v, int offset, int length) throws IOException(Code) | | Prints a string to the stream, encoded as UTF-8
Parameters: v - the string to print. |
printString | public void printString(char[] v, int offset, int length) throws IOException(Code) | | Prints a string to the stream, encoded as UTF-8
Parameters: v - the string to print. |
startCall | public void startCall(String method) throws IOException(Code) | | Starts the method call. Clients would use startCall
instead of call if they wanted finer control over
writing the arguments, or needed to write headers.
<burlap:call>
<method>method-name</method>
Parameters: method - the method name to call. |
startCall | public void startCall() throws IOException(Code) | | Starts the method call. Clients would use startCall
instead of call if they wanted finer control over
writing the arguments, or needed to write headers.
<method>method-name</method>
Parameters: method - the method name to call. |
startReply | public void startReply() throws IOException(Code) | | Starts the reply
A successful completion will have a single value:
r
|
writeBoolean | public void writeBoolean(boolean value) throws IOException(Code) | | Writes a boolean value to the stream. The boolean will be written
with the following syntax:
<boolean>0</boolean>
<boolean>1</boolean>
Parameters: value - the boolean value to write. |
writeByteBufferEnd | public void writeByteBufferEnd(byte[] buffer, int offset, int length) throws IOException(Code) | | Writes a byte buffer to the stream.
b b16 b18 bytes
|
writeByteBufferPart | public void writeByteBufferPart(byte[] buffer, int offset, int length) throws IOException(Code) | | Writes a byte buffer to the stream.
b b16 b18 bytes
|
writeByteBufferStart | public void writeByteBufferStart() throws IOException(Code) | | Writes a byte buffer to the stream.
|
writeBytes | public void writeBytes(byte[] buffer) throws IOException(Code) | | Writes a byte array to the stream.
The array will be written with the following syntax:
<base64>bytes</base64>
If the value is null, it will be written as
<null></null>
Parameters: value - the string value to write. |
writeBytes | public void writeBytes(byte[] buffer, int offset, int length) throws IOException(Code) | | Writes a byte array to the stream.
The array will be written with the following syntax:
<base64>bytes</base64>
If the value is null, it will be written as
<null></null>
Parameters: value - the string value to write. |
writeDouble | public void writeDouble(double value) throws IOException(Code) | | Writes a double value to the stream. The double will be written
with the following syntax:
<double>value</double>
Parameters: value - the double value to write. |
writeFault | public void writeFault(String code, String message, Object detail) throws IOException(Code) | | Writes a fault. The fault will be written
as a descriptive string followed by an object:
<fault>
<string>code
<string>the fault code
<string>message
<string>the fault mesage
<string>detail
<map>t\x00\xnnjavax.ejb.FinderException
...
</map>
</fault>
Parameters: code - the fault code, a three digit |
writeHeader | public void writeHeader(String name) throws IOException(Code) | | Writes a header name. The header value must immediately follow.
<header>foo</header><int>value</int>
|
writeInt | public void writeInt(int value) throws IOException(Code) | | Writes an integer value to the stream. The integer will be written
with the following syntax:
<int>int value</int>
Parameters: value - the integer value to write. |
writeListBegin | public boolean writeListBegin(int length, String type) throws IOException(Code) | | Writes the list header to the stream. List writers will call
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>
|
writeListEnd | public void writeListEnd() throws IOException(Code) | | Writes the tail of the list to the stream.
|
writeLong | public void writeLong(long value) throws IOException(Code) | | Writes a long value to the stream. The long will be written
with the following syntax:
<long>int value</long>
Parameters: value - the long value to write. |
writeMapBegin | public void writeMapBegin(String type) throws IOException(Code) | | Writes the map header to the stream. Map writers will call
writeMapBegin followed by the map contents and then
call writeMapEnd .
<map>
<type>type</type>
(<key> <value>)*
</map>
|
writeMapEnd | public void writeMapEnd() throws IOException(Code) | | Writes the tail of the map to the stream.
|
writeMethod | public void writeMethod(String method) throws IOException(Code) | | Writes the method for a call.
<method>value</method>
Parameters: method - the method name to call. |
writeNull | public void writeNull() throws IOException(Code) | | Writes a null value to the stream.
The null will be written with the following syntax
<null></null>
Parameters: value - the string value to write. |
writeRef | public void writeRef(int value) throws IOException(Code) | | Writes a reference.
<ref>int</ref>
Parameters: value - the integer value to write. |
writeRemote | public void writeRemote(String type, String url) throws IOException(Code) | | Writes a remote object reference to the stream. The type is the
type of the remote interface.
<remote>
<type>test.account.Account</type>
<string>http://caucho.com/foo;ejbid=bar</string>
</remote>
|
writeString | public void writeString(String value) throws IOException(Code) | | Writes a string value to the stream using UTF-8 encoding.
The string will be written with the following syntax:
<string>string-value</string>
If the value is null, it will be written as
<null></null>
Parameters: value - the string value to write. |
writeString | public void writeString(char[] buffer, int offset, int length) throws IOException(Code) | | Writes a string value to the stream using UTF-8 encoding.
The string will be written with the following syntax:
S b16 b8 string-value
If the value is null, it will be written as
N
Parameters: value - the string value to write. |
writeUTCDate | public void writeUTCDate(long time) throws IOException(Code) | | Writes a date to the stream.
<date>iso8901</date>
Parameters: time - the date in milliseconds from the epoch in UTC |
|
|