public class

CyclicBuffer

extends Object
java.lang.Object
   ↳ org.apache.log4j.helpers.CyclicBuffer

Class Overview

CyclicBuffer is used by other appenders to hold LoggingEvents for immediate or differed display.

This buffer gives read access to any element in the buffer not just the first or last element.

Summary

Public Constructors
CyclicBuffer(int maxSize)
Instantiate a new CyclicBuffer of at most maxSize events.
Public Methods
void add(LoggingEvent event)
Add an event as the last event in the buffer.
LoggingEvent get(int i)
Get the ith oldest event currently in the buffer.
LoggingEvent get()
Get the oldest (first) element in the buffer.
int getMaxSize()
int length()
Get the number of elements in the buffer.
void resize(int newSize)
Resize the cyclic buffer to newSize.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public CyclicBuffer (int maxSize)

Instantiate a new CyclicBuffer of at most maxSize events. The maxSize argument must a positive integer.

Parameters
maxSize The maximum number of elements in the buffer.
Throws
IllegalArgumentException

Public Methods

public void add (LoggingEvent event)

Add an event as the last event in the buffer.

public LoggingEvent 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, then null is returned.

public LoggingEvent get ()

Get the oldest (first) element in the buffer. The oldest element is removed from the buffer.

public int getMaxSize ()

public int length ()

Get the number of elements in the buffer. This number is guaranteed to be in the range 0 to maxSize (inclusive).

public void resize (int newSize)

Resize the cyclic buffer to newSize.

Throws
IllegalArgumentException if newSize is negative.