Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Log4j 1.2.8
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.log4j.helpers
Class CyclicBuffer

    java.lang.Object
      |
      +--org.apache.log4j.helpers.CyclicBuffer

public class CyclicBuffer
extends Object

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.

Since:
  0.9.0
Author:
  Ceki Gülcü

Constructor Summary
`CyclicBuffer(int maxSize)` Instantiate a new CyclicBuffer of at most `maxSize` events.

Method Summary
`void` | `add(LoggingEvent event)` Add an `event` as the last event in the buffer.
`LoggingEvent` | `get()` Get the oldest (first) element in the buffer.
`LoggingEvent` | `get(int i)` Get the ith oldest event currently 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`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CyclicBuffer

    public CyclicBuffer(int maxSize)
                 throws IllegalArgumentException

  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.

Method Detail

### add

    public void add(LoggingEvent event)

  Add an `event` as the last event in the buffer.

### get

    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.

### getMaxSize

    public int getMaxSize()

### get

    public LoggingEvent get()

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

### length

    public int length()

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

### resize

    public void resize(int newSize)

  Resize the cyclic buffer to `newSize`.
  Throws:
    `IllegalArgumentException` - if `newSize` is negative.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Log4j 1.2.8
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2000-2002 Apache Software Foundation.