Class ChainsawCyclicBufferTableModel

java.lang.Object
javax.swing.table.AbstractTableModel
org.apache.log4j.chainsaw.ChainsawCyclicBufferTableModel
All Implemented Interfaces:
PropertyChangeListener, Serializable, EventListener, TableModel, EventContainer, LoggerNameModel, SortTableModel

class ChainsawCyclicBufferTableModel extends AbstractTableModel implements EventContainer, PropertyChangeListener
A CyclicBuffer implementation of the EventContainer.

NOTE: This implementation prevents duplicate rows from being added to the model.

Ignoring duplicates was added to support receivers which may attempt to deliver the same event more than once but can be safely ignored (for example, the database receiver when set to retrieve in a loop).

  • Field Details

    • DEFAULT_CAPACITY

      private static final int DEFAULT_CAPACITY
      See Also:
    • cyclic

      private boolean cyclic
    • cyclicBufferSize

      private int cyclicBufferSize
    • unfilteredList

      List unfilteredList
    • filteredList

      List filteredList
    • currentSortAscending

      private boolean currentSortAscending
    • currentSortColumn

      private int currentSortColumn
    • eventListenerList

      private final EventListenerList eventListenerList
    • columnNames

      private final List<String> columnNames
    • sortEnabled

      private boolean sortEnabled
    • reachedCapacity

      private boolean reachedCapacity
    • logger

      private final org.apache.log4j.Logger logger
    • loggerNameModelDelegate

      private final LoggerNameModel loggerNameModelDelegate
    • mutex

      private final Object mutex
    • uniqueRow

      int uniqueRow
    • uniquePropertyKeys

      private final Set uniquePropertyKeys
    • ruleMediator

      private org.apache.log4j.rule.Rule ruleMediator
    • propertySupport

      private final PropertyChangeSupport propertySupport
    • colorizer

      private RuleColorizer colorizer
    • tableModelName

      private final String tableModelName
  • Constructor Details

    • ChainsawCyclicBufferTableModel

      public ChainsawCyclicBufferTableModel(int cyclicBufferSize, RuleColorizer colorizer, String tableModelName)
  • Method Details