Package ch.qos.logback.core.helpers
Class CyclicBuffer<E>
- java.lang.Object
-
- ch.qos.logback.core.helpers.CyclicBuffer<E>
-
public class CyclicBuffer<E> extends java.lang.ObjectCyclicBuffer holds values in a cyclic array.It allows read access to any element in the buffer not just the first or last element.
-
-
Constructor Summary
Constructors Constructor Description CyclicBuffer(int maxSize)Instantiate a new CyclicBuffer of at mostmaxSizeevents.CyclicBuffer(CyclicBuffer<E> other)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(E event)Add aneventas the last event in the buffer.java.util.List<E>asList()voidclear()Clears the buffer and resets all attributes.Eget()Get the oldest (first) element in the buffer.Eget(int i)Get the ith oldest event currently in the buffer.intgetMaxSize()intlength()Get the number of elements in the buffer.voidresize(int newSize)Resize the cyclic buffer tonewSize.
-
-
-
Constructor Detail
-
CyclicBuffer
public CyclicBuffer(int maxSize) throws java.lang.IllegalArgumentExceptionInstantiate a new CyclicBuffer of at mostmaxSizeevents. ThemaxSizeargument must a positive integer.- Parameters:
maxSize- The maximum number of elements in the buffer.- Throws:
java.lang.IllegalArgumentException
-
CyclicBuffer
public CyclicBuffer(CyclicBuffer<E> other)
-
-
Method Detail
-
clear
public void clear()
Clears the buffer and resets all attributes.
-
add
public void add(E event)
Add aneventas the last event in the buffer.
-
get
public E get(int i)
Get the ith oldest event currently in the buffer. If i is outside the range 0 to the number of elements currently in the buffer, thennullis returned.
-
getMaxSize
public int getMaxSize()
-
get
public E get()
Get the oldest (first) element in the buffer. The oldest element is removed from the buffer.
-
asList
public java.util.List<E> asList()
-
length
public int length()
Get the number of elements in the buffer. This number is guaranteed to be in the range 0 tomaxSize(inclusive).
-
resize
public void resize(int newSize)
Resize the cyclic buffer tonewSize.- Throws:
java.lang.IllegalArgumentException- ifnewSizeis negative.
-
-