Class BufferUtils


  • public class BufferUtils
    extends Object
    Author:
    Alexey Stashok
    • Field Detail

      • EMPTY_BYTE_BUFFER

        public static final ByteBuffer EMPTY_BYTE_BUFFER
      • EMPTY_BYTE_BUFFER_ARRAY

        public static final ByteBuffer[] EMPTY_BYTE_BUFFER_ARRAY
    • Constructor Detail

      • BufferUtils

        public BufferUtils()
    • Method Detail

      • slice

        public static ByteBuffer slice​(ByteBuffer chunk,
                                       int size)
        Slice ByteBuffer of required size from big chunk. Passed chunk position will be changed, after the slicing (chunk.position += size).
        Parameters:
        chunk - big ByteBuffer pool.
        size - required slice size.
        Returns:
        sliced ByteBuffer of required size.
      • slice

        public static ByteBuffer slice​(ByteBuffer byteBuffer,
                                       int position,
                                       int limit)
        Get the ByteBuffer's slice basing on its passed position and limit. Position and limit values of the passed ByteBuffer won't be changed. The result ByteBuffer position will be equal to 0, and limit equal to number of sliced bytes (limit - position).
        Parameters:
        byteBuffer - ByteBuffer to slice/
        position - the position in the passed byteBuffer, the slice will start from.
        limit - the limit in the passed byteBuffer, the slice will be ended.
        Returns:
        sliced ByteBuffer of required size.
      • toStringContent

        public static String toStringContent​(ByteBuffer byteBuffer,
                                             Charset charset,
                                             int position,
                                             int limit)
      • setPositionLimit

        public static void setPositionLimit​(ByteBuffer buffer,
                                            int position,
                                            int limit)
      • setPositionLimit

        public static void setPositionLimit​(Buffer buffer,
                                            int position,
                                            int limit)
      • put

        public static void put​(ByteBuffer srcBuffer,
                               int srcOffset,
                               int length,
                               ByteBuffer dstBuffer)
      • get

        public static void get​(ByteBuffer srcBuffer,
                               byte[] dstBytes,
                               int dstOffset,
                               int length)
      • put

        public static void put​(byte[] srcBytes,
                               int srcOffset,
                               int length,
                               ByteBuffer dstBuffer)