Interface DataOutputPlus

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      default boolean hasPosition()
      If the implementation supports providing a position, this method returns true, otherwise false.
      default long position()
      Returns the current position of the underlying target like a file-pointer or the position withing a buffer.
      void write​(java.nio.ByteBuffer buffer)  
      default void write​(ReadableMemory memory, long offset, long length)  
      default void writeBytes​(long register, int bytes)
      An efficient way to write the type bytes of a long
      default void writeUnsignedVInt​(long i)
      This is more efficient for storing unsigned values, both in storage and CPU burden.
      default void writeVInt​(long i)  
      • Methods inherited from interface java.io.DataOutput

        write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF
    • Method Detail

      • write

        void write​(java.nio.ByteBuffer buffer)
            throws java.io.IOException
        Throws:
        java.io.IOException
      • write

        default void write​(ReadableMemory memory,
                           long offset,
                           long length)
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • writeVInt

        default void writeVInt​(long i)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • writeUnsignedVInt

        default void writeUnsignedVInt​(long i)
                                throws java.io.IOException
        This is more efficient for storing unsigned values, both in storage and CPU burden. Note that it is still possible to store negative values, they just take up more space. So this method doesn't forbid e.g. negative sentinel values in future, if they need to be snuck in. A protocol version bump can then be introduced to improve efficiency.
        Throws:
        java.io.IOException
      • writeBytes

        default void writeBytes​(long register,
                                int bytes)
                         throws java.io.IOException
        An efficient way to write the type bytes of a long
        Parameters:
        register - - the long value to be written
        bytes - - the number of bytes the register occupies. Valid values are between 1 and 8 inclusive.
        Throws:
        java.io.IOException
      • position

        default long position()
        Returns the current position of the underlying target like a file-pointer or the position withing a buffer. Not every implementation may support this functionality. Whether or not this functionality is supported can be checked via the hasPosition().
        Throws:
        java.lang.UnsupportedOperationException - if the implementation does not support position
      • hasPosition

        default boolean hasPosition()
        If the implementation supports providing a position, this method returns true, otherwise false.