Class RAFBuffer

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()
      Очистка буфера, устанавливает размер в ноль
      RAFBuffer clone()  
      void close()
      Закрытие буфера
      protected File createTempFile()  
      protected RandomAccessFile createTempRAF()  
      void flush()
      Запись содержимого на диск/память
      byte[] get​(long offset, int dataLen)
      Получение байтов.
      Lock getLock()  
      RandomAccessFile getRaf()  
      long getSize()
      Возвращает размер буфера в байтах
      boolean isCloneRafContent()
      Указывает клонировать во временный файл содержимое буфера
      boolean isCloseRaf()
      Указывает закрывать RandomAccessFile при вызове close.
      boolean isDeleteTempOnExit()
      Указывает удалять временно клонированный файл при выходе
      boolean isFlushOnClose()
      Указывает сбрасывать содержимое памяти на диск при закрытии
      boolean isReleaseRaf()
      Указывает освобаждать ссылку (устанавливать свойство raf в null) на RandomAccessFile
      boolean isThrowNotSetRaf()  
      void set​(long offset, byte[] data, int dataOffset, int dataLen)
      Установить байты в массиве.
      void setCloneRafContent​(boolean cloneRafContent)
      Указывает клонировать во временный файл содержимое буфера
      void setCloseRaf​(boolean closeRaf)
      Указывает закрывать RandomAccessFile при вызове close.
      void setDeleteTempOnExit​(boolean deleteTempOnExit)
      Указывает удалять временно клонированный файл при выходе
      void setFlushOnClose​(boolean flushOnClose)
      Указывает сбрасывать содержимое памяти на диск при закрытии
      void setRaf​(RandomAccessFile raf)  
      void setReleaseRaf​(boolean releaseRaf)
      Указывает освобаждать ссылку (устанавливать свойство raf в null) на RandomAccessFile
      void setSize​(long size)
      Устанавливает размер буфера
      void setThrowNotSetRaf​(boolean throwNotSetRaf)  
    • Field Detail

      • lock

        protected final Lock lock
      • cloneRafContent

        protected boolean cloneRafContent
      • throwNotSetRaf

        protected boolean throwNotSetRaf
      • deleteTempOnExit

        protected boolean deleteTempOnExit
      • flushOnClose

        protected boolean flushOnClose
      • closeRaf

        protected boolean closeRaf
      • releaseRaf

        protected boolean releaseRaf
    • Constructor Detail

      • RAFBuffer

        public RAFBuffer()
      • RAFBuffer

        public RAFBuffer​(Lock lock)
      • RAFBuffer

        public RAFBuffer​(RAFBuffer src)
    • Method Detail

      • isCloneRafContent

        public boolean isCloneRafContent()
        Указывает клонировать во временный файл содержимое буфера
        Returns:
        true (по умолчанию) - клонировать
      • setCloneRafContent

        public void setCloneRafContent​(boolean cloneRafContent)
        Указывает клонировать во временный файл содержимое буфера
        Parameters:
        cloneRafContent - true (по умолчанию) - клонировать
      • getLock

        public Lock getLock()
      • isThrowNotSetRaf

        public boolean isThrowNotSetRaf()
      • setThrowNotSetRaf

        public void setThrowNotSetRaf​(boolean throwNotSetRaf)
      • 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
      • isDeleteTempOnExit

        public boolean isDeleteTempOnExit()
        Указывает удалять временно клонированный файл при выходе
        Returns:
        true (по умолчанию) - удалять клонированный файл
      • setDeleteTempOnExit

        public void setDeleteTempOnExit​(boolean deleteTempOnExit)
        Указывает удалять временно клонированный файл при выходе
        Parameters:
        deleteTempOnExit - true (по умолчанию) - удалять клонированный файл
      • createTempFile

        protected File createTempFile()
      • flush

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

        public boolean isFlushOnClose()
        Указывает сбрасывать содержимое памяти на диск при закрытии
        Returns:
        true (по умолчанию) - сбрасывать.
      • setFlushOnClose

        public void setFlushOnClose​(boolean flushOnClose)
        Указывает сбрасывать содержимое памяти на диск при закрытии
        Parameters:
        flushOnClose - true (по умолчанию) - сбрасывать.
      • isCloseRaf

        public boolean isCloseRaf()
        Указывает закрывать RandomAccessFile при вызове close.
        Returns:
        true (по умолчанию) - закрывать.
      • setCloseRaf

        public void setCloseRaf​(boolean closeRaf)
        Указывает закрывать RandomAccessFile при вызове close.
        Parameters:
        closeRaf - true (по умолчанию) - закрывать.
      • isReleaseRaf

        public boolean isReleaseRaf()
        Указывает освобаждать ссылку (устанавливать свойство raf в null) на RandomAccessFile
        Returns:
        true (по умолчанию) - освобождать.
      • setReleaseRaf

        public void setReleaseRaf​(boolean releaseRaf)
        Указывает освобаждать ссылку (устанавливать свойство raf в null) на RandomAccessFile
        Parameters:
        releaseRaf - true (по умолчанию) - освобождать.
      • close

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