Class DirectMessageReader

    • Constructor Detail

      • DirectMessageReader

        public DirectMessageReader​(MessageFactory msgFactory)
        Parameters:
        msgFactory - Message factory.
    • Method Detail

      • setBuffer

        public void setBuffer​(ByteBuffer buf)
        Sets but buffer to read from.
        Specified by:
        setBuffer in interface MessageReader
        Parameters:
        buf - Byte buffer.
      • setCurrentReadClass

        public void setCurrentReadClass​(Class<? extends Message> msgCls)
        Sets type of message currently read.
        Specified by:
        setCurrentReadClass in interface MessageReader
        Parameters:
        msgCls - Message type.
      • beforeMessageRead

        public boolean beforeMessageRead()
        Callback that must be invoked by a message implementation before message body started decoding.
        Specified by:
        beforeMessageRead in interface MessageReader
        Returns:
        True if reading can proceed, false otherwise.
      • afterMessageRead

        public boolean afterMessageRead​(Class<? extends Message> msgCls)
        Callback that must be invoked by a message implementation after message body finished decoding.
        Specified by:
        afterMessageRead in interface MessageReader
        Parameters:
        msgCls -
        Returns:
        True if reading can proceed, false otherwise.
      • readByte

        public byte readByte​(String name)
        Reads byte value.
        Specified by:
        readByte in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        byte value.
      • readShort

        public short readShort​(String name)
        Reads short value.
        Specified by:
        readShort in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        short value.
      • readInt

        public int readInt​(String name)
        Reads int value.
        Specified by:
        readInt in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        int value.
      • readInt

        public int readInt​(String name,
                           int dflt)
        Reads int value.
        Specified by:
        readInt in interface MessageReader
        Parameters:
        name - Field name.
        dflt - Default value if field not found.
        Returns:
        int value.
      • readLong

        public long readLong​(String name)
        Reads long value.
        Specified by:
        readLong in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        long value.
      • readFloat

        public float readFloat​(String name)
        Reads float value.
        Specified by:
        readFloat in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        float value.
      • readDouble

        public double readDouble​(String name)
        Reads double value.
        Specified by:
        readDouble in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        double value.
      • readChar

        public char readChar​(String name)
        Reads char value.
        Specified by:
        readChar in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        char value.
      • readBoolean

        public boolean readBoolean​(String name)
        Reads boolean value.
        Specified by:
        readBoolean in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        boolean value.
      • readByteArray

        @Nullable
        public @org.jetbrains.annotations.Nullable byte[] readByteArray​(String name)
        Reads byte array.
        Specified by:
        readByteArray in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        byte array.
      • readShortArray

        @Nullable
        public @org.jetbrains.annotations.Nullable short[] readShortArray​(String name)
        Reads short array.
        Specified by:
        readShortArray in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        short array.
      • readIntArray

        @Nullable
        public @org.jetbrains.annotations.Nullable int[] readIntArray​(String name)
        Reads int array.
        Specified by:
        readIntArray in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        int array.
      • readLongArray

        @Nullable
        public @org.jetbrains.annotations.Nullable long[] readLongArray​(String name)
        Reads long array.
        Specified by:
        readLongArray in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        long array.
      • readFloatArray

        @Nullable
        public @org.jetbrains.annotations.Nullable float[] readFloatArray​(String name)
        Reads float array.
        Specified by:
        readFloatArray in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        float array.
      • readDoubleArray

        @Nullable
        public @org.jetbrains.annotations.Nullable double[] readDoubleArray​(String name)
        Reads double array.
        Specified by:
        readDoubleArray in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        double array.
      • readCharArray

        @Nullable
        public @org.jetbrains.annotations.Nullable char[] readCharArray​(String name)
        Reads char array.
        Specified by:
        readCharArray in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        char array.
      • readBooleanArray

        @Nullable
        public @org.jetbrains.annotations.Nullable boolean[] readBooleanArray​(String name)
        Reads boolean array.
        Specified by:
        readBooleanArray in interface MessageReader
        Parameters:
        name - Field name.
        Returns:
        boolean array.
      • readMessage

        @Nullable
        public <T extends Message> T readMessage​(String name)
        Reads nested message.
        Specified by:
        readMessage in interface MessageReader
        Type Parameters:
        T - Type of the message.
        Parameters:
        name - Field name.
        Returns:
        Message.
      • readObjectArray

        public <T> T[] readObjectArray​(String name,
                                       MessageCollectionItemType itemType,
                                       Class<T> itemCls)
        Reads array of objects.
        Specified by:
        readObjectArray in interface MessageReader
        Type Parameters:
        T - Type of the red object .
        Parameters:
        name - Field name.
        itemType - Array component type.
        itemCls - Array component class.
        Returns:
        Array of objects.
      • isLastRead

        public boolean isLastRead()
        Tells whether last invocation of any of readXXX(...) methods has fully written the value. False is returned if there were not enough remaining bytes in byte buffer.
        Specified by:
        isLastRead in interface MessageReader
        Returns:
        Whether las value was fully read.
      • state

        public int state()
        Gets current read state.
        Specified by:
        state in interface MessageReader
        Returns:
        Read state.
      • beforeInnerMessageRead

        public void beforeInnerMessageRead()
        Callback called before inner message is read.
        Specified by:
        beforeInnerMessageRead in interface MessageReader
      • afterInnerMessageRead

        public void afterInnerMessageRead​(boolean finished)
        Callback called after inner message is read.
        Specified by:
        afterInnerMessageRead in interface MessageReader
        Parameters:
        finished - Whether message was fully read.
      • reset

        public void reset()
        Resets this reader.
        Specified by:
        reset in interface MessageReader