类 AbstractHessianInput

  • 直接已知子类:
    Hessian2Input, HessianInput

    public abstract class AbstractHessianInput
    extends Object
    Abstract base class for Hessian requests. Hessian users should only need to use the methods in this class.

     AbstractHessianInput in = ...; // get input
     String value;
    
     in.startReply();         // read reply header
     value = in.readString(); // read string value
     in.completeReply();      // read reply footer
     
    • 构造器详细资料

      • AbstractHessianInput

        public AbstractHessianInput()
    • 方法详细资料

      • init

        public void init​(InputStream is)
        Initialize the Hessian stream with the underlying input stream.
      • getMethod

        public abstract String getMethod()
        Returns the call's method
      • getRemoteResolver

        public HessianRemoteResolver getRemoteResolver()
        Sets the resolver used to lookup remote objects.
      • setRemoteResolver

        public void setRemoteResolver​(HessianRemoteResolver resolver)
        Sets the resolver used to lookup remote objects.
      • setSerializerFactory

        public void setSerializerFactory​(SerializerFactory ser)
        Sets the serializer factory.
      • checkAndReadNull

        public abstract boolean checkAndReadNull()
      • readCall

        public abstract int readCall()
                              throws IOException
        Reads the call

         c major minor
         
        抛出:
        IOException
      • skipOptionalCall

        public void skipOptionalCall()
                              throws IOException
        For backward compatibility with HessianSkeleton
        抛出:
        IOException
      • readHeader

        public abstract String readHeader()
                                   throws IOException
        Reads a header, returning null if there are no headers.

         H b16 b8 value
         
        抛出:
        IOException
      • readMethod

        public abstract String readMethod()
                                   throws IOException
        Starts reading the call

        A successful completion will have a single value:

         m b16 b8 method
         
        抛出:
        IOException
      • readMethodArgLength

        public int readMethodArgLength()
                                throws IOException
        Reads the number of method arguments
        返回:
        -1 for a variable length (hessian 1.0)
        抛出:
        IOException
      • startCall

        public abstract void startCall()
                                throws IOException
        Starts reading the call, including the headers.

        The call expects the following protocol data

         c major minor
         m b16 b8 method
         
        抛出:
        IOException
      • completeCall

        public abstract void completeCall()
                                   throws IOException
        Completes reading the call

        The call expects the following protocol data

         Z
         
        抛出:
        IOException
      • readReply

        public abstract Object readReply​(Class expectedClass)
                                  throws Throwable
        Reads a reply as an object. If the reply has a fault, throws the exception.
        抛出:
        Throwable
      • startReply

        public abstract void startReply()
                                 throws Throwable
        Starts reading the reply

        A successful completion will have a single value:

         r
         v
         
        抛出:
        Throwable
      • completeReply

        public abstract void completeReply()
                                    throws IOException
        Completes reading the call

        A successful completion will have a single value:

         z
         
        抛出:
        IOException
      • readBoolean

        public abstract boolean readBoolean()
                                     throws IOException
        Reads a boolean

         T
         F
         
        抛出:
        IOException
      • readInt

        public abstract int readInt()
                             throws IOException
        Reads an integer

         I b32 b24 b16 b8
         
        抛出:
        IOException
      • readLong

        public abstract long readLong()
                               throws IOException
        Reads a long

         L b64 b56 b48 b40 b32 b24 b16 b8
         
        抛出:
        IOException
      • readDouble

        public abstract double readDouble()
                                   throws IOException
        Reads a double.

         D b64 b56 b48 b40 b32 b24 b16 b8
         
        抛出:
        IOException
      • readUTCDate

        public abstract long readUTCDate()
                                  throws IOException
        Reads a date.

         T b64 b56 b48 b40 b32 b24 b16 b8
         
        抛出:
        IOException
      • readString

        public abstract String readString()
                                   throws IOException
        Reads a string encoded in UTF-8

         s b16 b8 non-final string chunk
         S b16 b8 final string chunk
         
        抛出:
        IOException
      • readNode

        public Node readNode()
                      throws IOException
        Reads an XML node encoded in UTF-8

         x b16 b8 non-final xml chunk
         X b16 b8 final xml chunk
         
        抛出:
        IOException
      • getReader

        public abstract Reader getReader()
                                  throws IOException
        Starts reading a string. All the characters must be read before calling the next method. The actual characters will be read with the reader's read() or read(char [], int, int).

         s b16 b8 non-final string chunk
         S b16 b8 final string chunk
         
        抛出:
        IOException
      • readInputStream

        public abstract InputStream readInputStream()
                                             throws IOException
        Starts reading a byte array using an input stream. All the bytes must be read before calling the following method.

         b b16 b8 non-final binary chunk
         B b16 b8 final binary chunk
         
        抛出:
        IOException
      • readBytes

        public abstract byte[] readBytes()
                                  throws IOException
        Reads a byte array.

         b b16 b8 non-final binary chunk
         B b16 b8 final binary chunk
         
        抛出:
        IOException
      • readObject

        public abstract Object readObject​(Class expectedClass)
                                   throws IOException
        Reads an arbitrary object from the input stream.
        参数:
        expectedClass - the expected class if the protocol doesn't supply it.
        抛出:
        IOException
      • readObject

        public Object readObject​(Class expectedClass,
                                 Class<?>... expectedTypes)
                          throws IOException
        Reads an arbitrary object from the input stream.
        参数:
        expectedClass - the expected class if the protocol doesn't supply it.
        expectedTypes - the runtime type hints, eg: expectedClass equals Map, expectedTypes can equals String.class, Short.class
        抛出:
        IOException
      • readObject

        public Object readObject​(List<Class<?>> expectedTypes)
                          throws IOException
        Reads an arbitrary object from the input stream.
        参数:
        expectedTypes - the runtime type hints, eg: expectedTypes can equals String.class, Short.class for HashMap
        抛出:
        IOException
      • readRemote

        public abstract Object readRemote()
                                   throws IOException
        Reads a remote object reference to the stream. The type is the type of the remote interface.

         'r' 't' b16 b8 type url
         
        抛出:
        IOException
      • resetReferences

        public void resetReferences()
        Resets the references for streaming.
      • readListStart

        public abstract int readListStart()
                                   throws IOException
        Reads the start of a list
        抛出:
        IOException
      • readLength

        public abstract int readLength()
                                throws IOException
        Reads the length of a list.
        抛出:
        IOException
      • readMapStart

        public abstract int readMapStart()
                                  throws IOException
        Reads the start of a map
        抛出:
        IOException
      • isEnd

        public abstract boolean isEnd()
                               throws IOException
        Returns true if the data has ended.
        抛出:
        IOException