|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.caucho.burlap.client.MicroBurlapOutput
public class MicroBurlapOutput
Output stream for Burlap requests, compatible with microedition Java. It only uses classes and types available to J2ME. In particular, it does not have any support for the <double> type.
MicroBurlapOutput does not depend on any classes other than in J2ME, so it can be extracted independently into a smaller package.
MicroBurlapOutput is unbuffered, so any client needs to provide its own buffering.
OutputStream os = ...; // from http connection
MicroBurlapOutput out = new MicroBurlapOutput(os);
String value;
out.startCall("hello"); // start hello call
out.writeString("arg1"); // write a string argument
out.completeCall(); // complete the call
| Constructor Summary | |
|---|---|
MicroBurlapOutput()
Creates an uninitialized Burlap output stream. |
|
MicroBurlapOutput(OutputStream os)
Creates a new Burlap output stream, initialized with an underlying output stream. |
|
| Method Summary | |
|---|---|
static char |
base64encode(int d)
Converts the digit to its base64 encoding. |
void |
call(String method,
Object[] args)
Writes a complete method call. |
void |
completeCall()
Writes the method call:
</burlap:request>
|
void |
init(OutputStream os)
|
void |
print(String s)
Prints a string as ascii to the stream. |
void |
printBytes(byte[] data,
int offset,
int length)
Prints a byte array to the stream, properly encoded in base64. |
void |
printDate(Calendar calendar)
Prints a date. |
void |
printInt(int v)
Prints an integer to the stream. |
void |
printLong(long v)
Prints a long to the stream. |
void |
printString(String v)
Prints a string to the stream, properly encoded. |
void |
startCall(String method)
Writes the method call:
<burlap:request>
<method>add</method>
|
void |
writeBoolean(boolean value)
Writes a boolean value to the stream. |
void |
writeBytes(byte[] buffer,
int offset,
int length)
Writes a byte array to the stream using base64 encoding. |
void |
writeCustomObject(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,
String type)
Writes the list header to the stream. |
void |
writeListEnd()
Writes the tail of the list to the stream. |
void |
writeLocalDate(long time)
Writes a date to the stream using ISO8609. |
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 |
writeNull()
Writes a null value to the stream. |
void |
writeObject(Object object)
Writes a generic object. |
void |
writeRef(int value)
Writes a reference. |
void |
writeRemote(String type,
String url)
Writes a remote object reference to the stream. |
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 using ISO8609. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public MicroBurlapOutput(OutputStream os)
os - the underlying output stream.public MicroBurlapOutput()
| Method Detail |
|---|
public void init(OutputStream os)
public void call(String method,
Object[] args)
throws IOException
IOException
public void startCall(String method)
throws IOException
<burlap:request>
<method>add</method>
method - the method name to call.
IOException
public void completeCall()
throws IOException
</burlap:request>
IOException
public void writeBoolean(boolean value)
throws IOException
<boolean>1</boolean>
value - the boolean value to write.
IOException
public void writeInt(int value)
throws IOException
<int>123</int>
value - the integer value to write.
IOException
public void writeLong(long value)
throws IOException
<long>123</long>
value - the long value to write.
IOException
public void writeNull()
throws IOException
<null></null>
value - the string value to write.
IOException
public void writeString(String value)
throws IOException
<string>12.3e10</string>
If the value is null, it will be written as
<null></null>
value - the string value to write.
IOException
public void writeBytes(byte[] buffer,
int offset,
int length)
throws IOException
<base64>dJmO==</base64>
If the value is null, it will be written as
<null></null>
value - the string value to write.
IOException
public void writeUTCDate(long time)
throws IOException
<date>19980508T095131Z</date>
value - the date in milliseconds from the epoch in UTC
IOException
public void writeLocalDate(long time)
throws IOException
<date>19980508T095131Z</date>
value - the date in milliseconds from the epoch in local timezone
IOException
public void writeRef(int value)
throws IOException
<ref>123</ref>
value - the integer value to write.
IOException
public void writeObject(Object object)
throws IOException
writeCustomObject.
IOException
public void writeCustomObject(Object object)
throws IOException
object - the object to write.
IOException
public void writeListBegin(int length,
String type)
throws 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>
IOException
public void writeListEnd()
throws IOException
IOException
public void writeMapBegin(String type)
throws IOException
writeMapBegin followed by the map contents and then
call writeMapEnd.
<map>
<type>java.util.Hashtable</type>
<string>a</string;<int>1</int>
<string>b</string;<int>2</int>
<string>c</string;<int>3</int>
</map>
IOException
public void writeMapEnd()
throws IOException
IOException
public void writeRemote(String type,
String url)
throws IOException
<remote>
<type>test.account.Account</type>
<string>http://caucho.com/foo;ejbid=bar</string>
</remote>
IOException
public void printInt(int v)
throws IOException
v - the integer to print.
IOException
public void printLong(long v)
throws IOException
v - the long to print.
IOException
public void printString(String v)
throws IOException
v - the string to print.
IOException
public void printBytes(byte[] data,
int offset,
int length)
throws IOException
data - the bytes to print.
IOExceptionpublic static char base64encode(int d)
public void printDate(Calendar calendar)
throws IOException
date - the date to print.
IOException
public void print(String s)
throws IOException
s - the ascii string to print.
IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||