schmitzm.swing.log4j
Class LoggerConfigurationTableModel

java.lang.Object
  extended by javax.swing.table.AbstractTableModel
      extended by schmitzm.swing.log4j.LoggerConfigurationTableModel
All Implemented Interfaces:
Serializable, TableModel

public class LoggerConfigurationTableModel
extends AbstractTableModel

Diese Klasse stellt ein TableModel dar, in dem die aktuell im LogManager registrierten Log4j-Logger in 4 Spalten angezeigt werden.

  1. Logger-Name (Typ String)
  2. Logger-Level (Typ Level)
  3. Logger-Additiviaet (Rekursive Verarbeitung der Vater-Appender) (Typ Boolean)
  4. Appender-Liste (Typ Enumeration<Appender>)
Beachte:
Nur die Spalten 1 (Level) und 2 (Additivitaet) sind als veraenderbar vorgesehen!

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
Serialized Form

Field Summary
 String[] COL_NAME
          Spalten-Namen der Tabelle.
 Class[] COL_TYPE
          Spalten-Typen der Tabelle.
protected  Vector<Logger> loggers
          LogManager#getCurrentLoggers() liefert eine Enumeration.
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Constructor Summary
LoggerConfigurationTableModel()
          Erzeugt ein neues Tabellenmodell.
 
Method Summary
 Class getColumnClass(int col)
          Liefert den Typ einer Tabellen-Spalte.
 int getColumnCount()
          Liefert die Spaltenanzahl der Tabelle.
 String getColumnName(int col)
          Liefert einen Spaltennamen der Tabelle.
 int getRowCount()
          Liefert die Anzahl an Zeilen (Loggern) der Tabelle.
 Object getValueAt(int row, int col)
          Liefert einen Zellenwert der Tabelle.
 boolean isCellEditable(int row, int col)
          Prueft, ob eine Zeile editierbar ist.
 void refresh()
          Aktualisiert die Tabelle auf Basis der aktuelle registrierten Logger.
 void setValueAt(Object value, int row, int col)
          Setzt einen Zellenwert der Tabelle.
 
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COL_NAME

public final String[] COL_NAME
Spalten-Namen der Tabelle.


COL_TYPE

public final Class[] COL_TYPE
Spalten-Typen der Tabelle.
  1. String
  2. Level
  3. Boolean
  4. Enumeration


loggers

protected Vector<Logger> loggers
LogManager#getCurrentLoggers() liefert eine Enumeration. Fuer einen wahlfreien Zugriff, werden die Logger bei der refresh()-Aktion in ein Vector kopiert.

Constructor Detail

LoggerConfigurationTableModel

public LoggerConfigurationTableModel()
Erzeugt ein neues Tabellenmodell.

Method Detail

refresh

public void refresh()
Aktualisiert die Tabelle auf Basis der aktuelle registrierten Logger.

See Also:
LogManager#getCurrentLoggers()

getRowCount

public int getRowCount()
Liefert die Anzahl an Zeilen (Loggern) der Tabelle.


getColumnCount

public int getColumnCount()
Liefert die Spaltenanzahl der Tabelle. Immer 3.


getColumnName

public String getColumnName(int col)
Liefert einen Spaltennamen der Tabelle.

Specified by:
getColumnName in interface TableModel
Overrides:
getColumnName in class AbstractTableModel

getColumnClass

public Class getColumnClass(int col)
Liefert den Typ einer Tabellen-Spalte.

Specified by:
getColumnClass in interface TableModel
Overrides:
getColumnClass in class AbstractTableModel

getValueAt

public Object getValueAt(int row,
                         int col)
Liefert einen Zellenwert der Tabelle.

Parameters:
row - Zeilenindex (beginnend bei 0)
col - Spaltenindex (beginnend bei 0)

isCellEditable

public boolean isCellEditable(int row,
                              int col)
Prueft, ob eine Zeile editierbar ist.

Specified by:
isCellEditable in interface TableModel
Overrides:
isCellEditable in class AbstractTableModel
Parameters:
row - Zeilenindex (beginnend bei 0)
col - Spaltenindex (beginnend bei 0)
Returns:
true nur fuer Spalte 1 (Logger-Level) und Spalte 3 (Additivitaet)

setValueAt

public void setValueAt(Object value,
                       int row,
                       int col)
Setzt einen Zellenwert der Tabelle. Nur relevant fuer die Spalten 1 (Level) und 2 (Additivitaet).

Specified by:
setValueAt in interface TableModel
Overrides:
setValueAt in class AbstractTableModel
Parameters:
value - neue Wert
row - Zeilenindex (beginnend bei 0)
col - Spaltenindex (beginnend bei 0)