Class CyclicBuffer

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

public class CyclicBuffer extends Object
Holds 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
  • Field Details

    • ea

    • first

      int first
    • last

      int last
    • numElems

      int numElems
    • maxSize

      int maxSize
  • Constructor Details

    • CyclicBuffer

      public CyclicBuffer(int maxSize) throws IllegalArgumentException
      Constructs a new instance of at most maxSize events. The maxSize argument must a positive integer.
      Parameters:
      maxSize - The maximum number of elements in the buffer.
      Throws:
      IllegalArgumentException
  • Method Details

    • add

      public void add(LoggingEvent event)
      Adds an event as the last event in the buffer.
    • get

      public LoggingEvent get()
      Gets the oldest (first) element in the buffer. The oldest element is removed from the buffer.
    • get

      public LoggingEvent get(int i)
      Gets 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()
    • length

      public int length()
      Gets 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)
      Resizes the cyclic buffer to newSize.
      Throws:
      IllegalArgumentException - if newSize is negative.