Package xyz.cofe.cbuffer
Class MemContentBuffer
java.lang.Object
xyz.cofe.cbuffer.MemContentBuffer
- All Implemented Interfaces:
ContentBuffer
public class MemContentBuffer extends java.lang.Object implements ContentBuffer
Буфер в памяти
- Author:
- Kamnev Georgiy (nt.gocha@gmail.com)
-
Field Summary
Fields Modifier and Type Field Description protected byte[]dataprotected xyz.cofe.ecolls.ListenersHelper<ContentBufferListener,ContentBufferEvent>listeners -
Constructor Summary
Constructors Constructor Description MemContentBuffer()MemContentBuffer(byte[] sourceData) -
Method Summary
Modifier and Type Method Description java.lang.AutoCloseableaddListener(ContentBufferListener listener)java.lang.AutoCloseableaddListener(ContentBufferListener listener, boolean weakLink)voidclear()Очистка буфера, устанавливает размер в нольContentBufferclone()voidclose()Закрытие буфераvoidfireEvent(ContentBufferEvent event)voidflush()Запись содержимого на диск/памятьbyte[]get(long offset, int dataLen)Получение байтов.java.util.Set<ContentBufferListener>getListeners()longgetSize()Возвращает размер буфера в байтахbooleanhasListener(ContentBufferListener listener)voidremoveListener(ContentBufferListener listener)voidset(long offset, byte[] data, int dataOffset, int dataLen)Установить байты в массиве.voidsetSize(long size)Устанавливает размер буфера
-
Field Details
-
data
protected volatile byte[] data -
listeners
protected final xyz.cofe.ecolls.ListenersHelper<ContentBufferListener,ContentBufferEvent> listeners
-
-
Constructor Details
-
MemContentBuffer
public MemContentBuffer() -
MemContentBuffer
public MemContentBuffer(byte[] sourceData)
-
-
Method Details
-
getSize
public long getSize()Description copied from interface:ContentBufferВозвращает размер буфера в байтах- Specified by:
getSizein interfaceContentBuffer- Returns:
- кол-во байт в буфере
-
setSize
public void setSize(long size)Description copied from interface:ContentBufferУстанавливает размер буфера- Specified by:
setSizein interfaceContentBuffer- Parameters:
size- кол-во байт в буфере
-
set
public void set(long offset, byte[] data, int dataOffset, int dataLen)Description copied from interface:ContentBufferУстановить байты в массиве.По возможности, массив должен быть расширен до необходимого размера, инче должно быть сгененировано исключение
- Specified by:
setin interfaceContentBuffer- Parameters:
offset- смещение в буфере от нуляdata- массив байтовdataOffset- смещение в массиве байтовdataLen- кол-во добавляемых байтов из массива
-
get
public byte[] get(long offset, int dataLen)Description copied from interface:ContentBufferПолучение байтов.Если данные в заданном диапазоне отсуствуют - то должыен быть ввозвращает пустой массив.
Если данные присуствуют в ограниченном размере - то данные, то возвращается массив длинной имеющимся данным.- Specified by:
getin interfaceContentBuffer- Parameters:
offset- смещение (от нуля)dataLen- кол-во байтов- Returns:
- байты
-
clear
public void clear()Description copied from interface:ContentBufferОчистка буфера, устанавливает размер в ноль- Specified by:
clearin interfaceContentBuffer
-
clone
- Overrides:
clonein classjava.lang.Object
-
flush
public void flush()Description copied from interface:ContentBufferЗапись содержимого на диск/память- Specified by:
flushin interfaceContentBuffer
-
close
public void close()Description copied from interface:ContentBufferЗакрытие буфера- Specified by:
closein interfaceContentBuffer
-
hasListener
-
getListeners
-
addListener
-
addListener
-
removeListener
-
fireEvent
-