Package com.caucho.hessian.micro
Class MicroHessianInput
- java.lang.Object
-
- com.caucho.hessian.micro.MicroHessianInput
-
public class MicroHessianInput extends Object
Input stream for Hessian 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.MicroHessianInput does not depend on any classes other than in J2ME, so it can be extracted independently into a smaller package.
MicroHessianInput is unbuffered, so any client needs to provide its own buffering.
InputStream is = ...; // from http connection MicroHessianInput in = new MicroHessianInput(is); String value; in.startReply(); // read reply header value = in.readString(); // read string value in.completeReply(); // read reply footer
-
-
Field Summary
Fields Modifier and Type Field Description protected InputStreamis
-
Constructor Summary
Constructors Constructor Description MicroHessianInput()Creates an uninitialized Hessian input stream.MicroHessianInput(InputStream is)Creates a new Hessian input stream, initialized with an underlying input stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcompleteReply()Completes reading the callprotected IOExceptionexpect(String expect, int ch)voidinit(InputStream is)Initialize the hessian stream with the underlying input stream.protected IOExceptionprotocolException(String message)booleanreadBoolean()Reads a booleanbyte[]readBytes()Reads a byte arrayintreadInt()Reads an integerlongreadLong()Reads a longObjectreadObject(Class expectedClass)Reads an arbitrary object the input stream.StringreadString()Reads a stringprotected StringreadStringImpl(int length)Reads a string from the underlying stream.longreadUTCDate()Reads a date.voidstartReply()Starts reading the reply
-
-
-
Field Detail
-
is
protected InputStream is
-
-
Constructor Detail
-
MicroHessianInput
public MicroHessianInput(InputStream is)
Creates a new Hessian input stream, initialized with an underlying input stream.- Parameters:
is- the underlying input stream.
-
MicroHessianInput
public MicroHessianInput()
Creates an uninitialized Hessian input stream.
-
-
Method Detail
-
init
public void init(InputStream is)
Initialize the hessian stream with the underlying input stream.
-
startReply
public void startReply() throws IOExceptionStarts reading the replyA successful completion will have a single value:
r x01 x00
- Throws:
IOException
-
completeReply
public void completeReply() throws IOExceptionCompletes reading the callA successful completion will have a single value:
z
- Throws:
IOException
-
readBoolean
public boolean readBoolean() throws IOExceptionReads a booleanT F
- Throws:
IOException
-
readInt
public int readInt() throws IOExceptionReads an integerI b32 b24 b16 b8
- Throws:
IOException
-
readLong
public long readLong() throws IOExceptionReads a longL b64 b56 b48 b40 b32 b24 b16 b8
- Throws:
IOException
-
readUTCDate
public long readUTCDate() throws IOExceptionReads a date.T b64 b56 b48 b40 b32 b24 b16 b8
- Throws:
IOException
-
readString
public String readString() throws IOException
Reads a stringS b16 b8 string value
- Throws:
IOException
-
readBytes
public byte[] readBytes() throws IOExceptionReads a byte arrayB b16 b8 data value
- Throws:
IOException
-
readObject
public Object readObject(Class expectedClass) throws IOException
Reads an arbitrary object the input stream.- Throws:
IOException
-
readStringImpl
protected String readStringImpl(int length) throws IOException
Reads a string from the underlying stream.- Throws:
IOException
-
expect
protected IOException expect(String expect, int ch)
-
protocolException
protected IOException protocolException(String message)
-
-