Class MicroHessianInput


  • public class MicroHessianInput
    extends java.lang.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 java.io.InputStream is  
    • Constructor Summary

      Constructors 
      Constructor Description
      MicroHessianInput()
      Creates an uninitialized Hessian input stream.
      MicroHessianInput​(java.io.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
      void completeReply()
      Completes reading the call
      protected java.io.IOException expect​(java.lang.String expect, int ch)  
      void init​(java.io.InputStream is)
      Initialize the hessian stream with the underlying input stream.
      protected java.io.IOException protocolException​(java.lang.String message)  
      boolean readBoolean()
      Reads a boolean
      byte[] readBytes()
      Reads a byte array
      int readInt()
      Reads an integer
      long readLong()
      Reads a long
      java.lang.Object readObject​(java.lang.Class expectedClass)
      Reads an arbitrary object the input stream.
      java.lang.String readString()
      Reads a string
      protected java.lang.String readStringImpl​(int length)
      Reads a string from the underlying stream.
      long readUTCDate()
      Reads a date.
      void startReply()
      Starts reading the reply
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • is

        protected java.io.InputStream is
    • Constructor Detail

      • MicroHessianInput

        public MicroHessianInput​(java.io.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​(java.io.InputStream is)
        Initialize the hessian stream with the underlying input stream.
      • startReply

        public void startReply()
                        throws java.io.IOException
        Starts reading the reply

        A successful completion will have a single value:

         r x01 x00
         
        Throws:
        java.io.IOException
      • completeReply

        public void completeReply()
                           throws java.io.IOException
        Completes reading the call

        A successful completion will have a single value:

         z
         
        Throws:
        java.io.IOException
      • readBoolean

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

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

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

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

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

        public byte[] readBytes()
                         throws java.io.IOException
        Reads a byte array
         B b16 b8 data value
         
        Throws:
        java.io.IOException
      • readObject

        public java.lang.Object readObject​(java.lang.Class expectedClass)
                                    throws java.io.IOException
        Reads an arbitrary object the input stream.
        Throws:
        java.io.IOException
      • readStringImpl

        protected java.lang.String readStringImpl​(int length)
                                           throws java.io.IOException
        Reads a string from the underlying stream.
        Throws:
        java.io.IOException
      • expect

        protected java.io.IOException expect​(java.lang.String expect,
                                             int ch)
      • protocolException

        protected java.io.IOException protocolException​(java.lang.String message)