Class SBCBuffer

java.lang.Object
xyz.cofe.cbuffer.SBCBuffer
All Implemented Interfaces:
java.lang.AutoCloseable, ContentBuffer

public class SBCBuffer
extends java.lang.Object
implements java.lang.AutoCloseable, ContentBuffer
Буфер для работы через интерфейс SeekableByteChannel
Author:
Kamnev Georgiy
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected java.nio.channels.SeekableByteChannel channel  
    protected boolean closeOnFinalize  
  • Constructor Summary

    Constructors 
    Constructor Description
    SBCBuffer​(java.nio.channels.SeekableByteChannel channel)  
  • Method Summary

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

    Methods inherited from class java.lang.Object

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

    • channel

      protected java.nio.channels.SeekableByteChannel channel
    • closeOnFinalize

      protected boolean closeOnFinalize
  • Constructor Details

    • SBCBuffer

      public SBCBuffer​(java.nio.channels.SeekableByteChannel channel)
  • Method Details

    • getChannel

      public java.nio.channels.SeekableByteChannel getChannel()
    • close

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

      protected void finalize() throws java.lang.Throwable
      Overrides:
      finalize in class java.lang.Object
      Throws:
      java.lang.Throwable
    • 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
    • clone

      public ContentBuffer clone()
      Overrides:
      clone in class java.lang.Object
    • flush

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