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 Details

  • Constructor Details

    • 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 Details

    • init

      public void init(InputStream is)
      Initialize the hessian stream with the underlying input stream.
    • startReply

      public void startReply() throws IOException
      Starts reading the reply

      A successful completion will have a single value:

       r x01 x00
       
      Throws:
      IOException
    • completeReply

      public void completeReply() throws IOException
      Completes reading the call

      A successful completion will have a single value:

       z
       
      Throws:
      IOException
    • readBoolean

      public boolean readBoolean() throws IOException
      Reads a boolean
       T
       F
       
      Throws:
      IOException
    • readInt

      public int readInt() throws IOException
      Reads an integer
       I b32 b24 b16 b8
       
      Throws:
      IOException
    • readLong

      public long readLong() throws IOException
      Reads a long
       L b64 b56 b48 b40 b32 b24 b16 b8
       
      Throws:
      IOException
    • readUTCDate

      public long readUTCDate() throws IOException
      Reads a date.
       T b64 b56 b48 b40 b32 b24 b16 b8
       
      Throws:
      IOException
    • readString

      public String readString() throws IOException
      Reads a string
       S b16 b8 string value
       
      Throws:
      IOException
    • readBytes

      public byte[] readBytes() throws IOException
      Reads a byte array
       B 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)