Class WrapperContentBuffer<T extends ContentBuffer>

java.lang.Object
xyz.cofe.cbuffer.WrapperContentBuffer<T>
Type Parameters:
T - Тип обворачиваемого буфера
All Implemented Interfaces:
ContentBuffer

public class WrapperContentBuffer<T extends ContentBuffer>
extends java.lang.Object
implements ContentBuffer
Буфер обвертка
Author:
Kamnev Georgiy (nt.gocha@gmail.com)
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected T buffer  
    protected java.util.concurrent.locks.Lock lock  
  • Constructor Summary

    Constructors 
    Constructor Description
    WrapperContentBuffer​(T cbuffer)  
    WrapperContentBuffer​(T cbuffer, java.util.concurrent.locks.Lock lock)  
  • Method Summary

    Modifier and Type Method Description
    void clear()
    Очистка буфера, устанавливает размер в ноль
    void close()
    Закрытие буфера
    void flush()
    Запись содержимого на диск/память
    byte[] get​(long offset, int dataLen)
    Получение байтов.
    long getSize()
    Возвращает размер буфера в байтах
    T getWrappedBuffer()  
    void set​(long offset, byte[] data, int dataOffset, int dataLen)
    Установить байты в массиве.
    void setSize​(long size)
    Устанавливает размер буфера
    void setWrappedBuffer​(T cbuffer)  

    Methods inherited from class java.lang.Object

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

  • Constructor Details

  • Method Details

    • getWrappedBuffer

      public T getWrappedBuffer()
    • setWrappedBuffer

      public void setWrappedBuffer​(T cbuffer)
    • getSize

      public long getSize()
      Description copied from interface: ContentBuffer
      Возвращает размер буфера в байтах
      Specified by:
      getSize in interface ContentBuffer
      Returns:
      кол-во байт в буфере
    • setSize

      public void setSize​(long size)
      Description copied from interface: ContentBuffer
      Устанавливает размер буфера
      Specified by:
      setSize in interface ContentBuffer
      Parameters:
      size - кол-во байт в буфере
    • set

      public void set​(long offset, byte[] data, int dataOffset, int dataLen)
      Description copied from interface: ContentBuffer
      Установить байты в массиве.

      По возможности, массив должен быть расширен до необходимого размера, инче должно быть сгененировано исключение

      Specified by:
      set in interface ContentBuffer
      Parameters:
      offset - смещение в буфере от нуля
      data - массив байтов
      dataOffset - смещение в массиве байтов
      dataLen - кол-во добавляемых байтов из массива
    • get

      public byte[] get​(long offset, int dataLen)
      Description copied from interface: ContentBuffer
      Получение байтов.

      Если данные в заданном диапазоне отсуствуют - то должыен быть ввозвращает пустой массив.
      Если данные присуствуют в ограниченном размере - то данные, то возвращается массив длинной имеющимся данным.

      Specified by:
      get in interface ContentBuffer
      Parameters:
      offset - смещение (от нуля)
      dataLen - кол-во байтов
      Returns:
      байты
    • clear

      public void clear()
      Description copied from interface: ContentBuffer
      Очистка буфера, устанавливает размер в ноль
      Specified by:
      clear in interface ContentBuffer
    • flush

      public void flush()
      Description copied from interface: ContentBuffer
      Запись содержимого на диск/память
      Specified by:
      flush in interface ContentBuffer
    • close

      public void close()
      Description copied from interface: ContentBuffer
      Закрытие буфера
      Specified by:
      close in interface ContentBuffer