# Hierarchy For All Packages

Package Hierarchies:

- org.apache.log4j,
- org.apache.log4j.chainsaw,
- org.apache.log4j.chainsaw.color,
- org.apache.log4j.chainsaw.dnd,
- org.apache.log4j.chainsaw.filter,
- org.apache.log4j.chainsaw.help,
- org.apache.log4j.chainsaw.helper,
- org.apache.log4j.chainsaw.icons,
- org.apache.log4j.chainsaw.layout,
- org.apache.log4j.chainsaw.messages,
- org.apache.log4j.chainsaw.osx,
- org.apache.log4j.chainsaw.plugins,
- org.apache.log4j.chainsaw.prefs,
- org.apache.log4j.chainsaw.receivers,
- org.apache.log4j.chainsaw.version,
- org.apache.log4j.chainsaw.vfs,
- org.apache.log4j.chainsaw.xstream,
- org.apache.log4j.chainsaw.zeroconf,
- org.apache.log4j.db,
- org.apache.log4j.db.dialect,
- org.apache.log4j.helpers,
- org.apache.log4j.net,
- org.apache.log4j.plugins,
- org.apache.log4j.rewrite,
- org.apache.log4j.scheduler,
- org.apache.log4j.spi,
- org.apache.log4j.varia,
- org.apache.log4j.xml

## Class Hierarchy

- java.lang.Object
  - javax.swing.AbstractAction (implements javax.swing.Action, java.lang.Cloneable, java.io.Serializable)
    - org.apache.log4j.chainsaw.CopyEventsToClipboardAction
  - java.util.AbstractCollection<E> (implements java.util.Collection<E>)
    - java.util.AbstractList<E> (implements java.util.List<E>)
      - org.apache.log4j.chainsaw.CyclicBufferList (implements java.util.List<E>)
  - javax.swing.AbstractListModel<E> (implements javax.swing.ListModel<E>, java.io.Serializable)
    - javax.swing.DefaultListModel<E>
      - org.apache.log4j.chainsaw.ModifiableListModel
  - org.apache.log4j.rule.AbstractRule (implements org.apache.log4j.rule.Rule, java.io.Serializable)
    - org.apache.log4j.chainsaw.RuleMediator
  - javax.swing.table.AbstractTableModel (implements java.io.Serializable, javax.swing.table.TableModel)
    - org.apache.log4j.chainsaw.zeroconf.ZeroConfDeviceModel (implements javax.jmdns.ServiceListener)
  - org.apache.log4j.AppenderSkeleton (implements org.apache.log4j.Appender, org.apache.log4j.spi.OptionHandler)
    - org.apache.log4j.chainsaw.ChainsawAppender
    - org.apache.log4j.chainsaw.ChainsawAppenderHandler
    - org.apache.log4j.db.DBAppender (implements org.apache.log4j.xml.UnrecognizedElementHandler)
    - org.apache.log4j.varia.ListModelAppender
    - org.apache.log4j.net.MulticastAppender (implements org.apache.log4j.net.PortBased)
    - org.apache.log4j.rewrite.RewriteAppender (implements org.apache.log4j.spi.AppenderAttachable, org.apache.log4j.xml.UnrecognizedElementHandler)
    - org.apache.log4j.net.UDPAppender (implements org.apache.log4j.net.PortBased)
  - org.apache.log4j.chainsaw.ApplicationPreferenceModel
  - org.apache.log4j.chainsaw.ApplicationPreferenceModelSaver (implements org.apache.log4j.chainsaw.prefs.SettingsListener)
  - org.apache.log4j.chainsaw.ChainsawColumns
  - org.apache.log4j.chainsaw.ChainsawConstants
  - org.apache.log4j.chainsaw.icons.ChainsawIcons
  - org.apache.log4j.chainsaw.ColumnComparator (implements java.util.Comparator<T>)
  - java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
    - java.awt.Container
      - javax.swing.JComponent (implements java.io.Serializable)
        - javax.swing.AbstractButton (implements java.awt.ItemSelectable, javax.swing.SwingConstants)
          - javax.swing.JButton (implements javax.accessibility.Accessible)
            - org.apache.log4j.chainsaw.SmallButton (implements java.awt.event.MouseListener)
          - javax.swing.JToggleButton (implements javax.accessibility.Accessible)
            - javax.swing.JCheckBox (implements javax.accessibility.Accessible)
              - org.apache.log4j.chainsaw.CheckListCellRenderer (implements javax.swing.ListCellRenderer<E>)
        - javax.swing.JLabel (implements javax.accessibility.Accessible, javax.swing.SwingConstants)
          - javax.swing.table.DefaultTableCellRenderer (implements java.io.Serializable, javax.swing.table.TableCellRenderer)
            - org.apache.log4j.chainsaw.SortHeaderRenderer
            - org.apache.log4j.chainsaw.TableColorizingRenderer
          - javax.swing.tree.DefaultTreeCellRenderer (implements javax.swing.tree.TreeCellRenderer)
            - org.apache.log4j.chainsaw.receivers.ReceiverTreeCellRenderer
        - javax.swing.JPanel (implements javax.accessibility.Accessible)
          - org.apache.log4j.chainsaw.AbstractPreferencePanel
            - org.apache.log4j.chainsaw.ApplicationPreferenceModelPanel
            - org.apache.log4j.chainsaw.LogPanelPreferencePanel
          - org.apache.log4j.chainsaw.BasicPrefPanel
            - org.apache.log4j.chainsaw.ApplicationPreferenceModelPanel.GeneralAllPrefPanel
            - org.apache.log4j.chainsaw.ApplicationPreferenceModelPanel.VisualsPrefPanel
            - org.apache.log4j.chainsaw.LogPanelPreferencePanel.ColumnSelectorPanel
          - org.apache.log4j.chainsaw.ChainsawStatusBar
          - org.apache.log4j.chainsaw.color.ColorPanel
          - org.apache.log4j.chainsaw.DockablePanel
            - org.apache.log4j.chainsaw.LogPanel (implements org.apache.log4j.chainsaw.EventBatchListener, org.apache.log4j.chainsaw.prefs.Profileable)
          - org.apache.log4j.chainsaw.plugins.GUIPluginSkeleton (implements org.apache.log4j.plugins.Plugin)
            - org.apache.log4j.chainsaw.zeroconf.ZeroConfPlugin
          - org.apache.log4j.chainsaw.layout.LayoutEditorPane
          - org.apache.log4j.chainsaw.receivers.NewReceiverDialogPanel
          - org.apache.log4j.chainsaw.helper.OkCancelPanel
          - org.apache.log4j.chainsaw.receivers.PluginPropertyEditorPanel
          - org.apache.log4j.chainsaw.ProgressPanel
          - org.apache.log4j.chainsaw.receivers.ReceiversPanel (implements org.apache.log4j.chainsaw.prefs.SettingsListener)
          - org.apache.log4j.chainsaw.WelcomePanel
        - javax.swing.JTable (implements javax.accessibility.Accessible, javax.swing.event.CellEditorListener, javax.swing.event.ListSelectionListener, javax.swing.event.RowSorterListener, javax.swing.Scrollable, javax.swing.event.TableColumnModelListener, javax.swing.event.TableModelListener)
          - org.apache.log4j.chainsaw.JSortTable (implements java.awt.event.MouseListener)
        - javax.swing.JTree (implements javax.accessibility.Accessible, javax.swing.Scrollable)
          - org.apache.log4j.chainsaw.LoggerNameTree
      - java.awt.Window (implements javax.accessibility.Accessible)
        - java.awt.Dialog
          - javax.swing.JDialog (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
            - org.apache.log4j.chainsaw.vfs.VFSLogFilePatternReceiver.UserNamePasswordDialog
        - java.awt.Frame (implements java.awt.MenuContainer)
          - javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
            - org.apache.log4j.chainsaw.LogUI (implements org.apache.log4j.chainsaw.ChainsawViewer, org.apache.log4j.chainsaw.prefs.SettingsListener)
  - org.apache.log4j.spi.ComponentBase (implements org.apache.log4j.spi.Component)
    - org.apache.log4j.db.ConnectionSourceSkeleton (implements org.apache.log4j.db.ConnectionSource)
      - org.apache.log4j.db.DataSourceConnectionSource (implements org.apache.log4j.xml.UnrecognizedElementHandler)
      - org.apache.log4j.db.DriverManagerConnectionSource
      - org.apache.log4j.db.JNDIConnectionSource
    - org.apache.log4j.plugins.PluginSkeleton (implements org.apache.log4j.plugins.Plugin)
      - org.apache.log4j.plugins.Receiver (implements org.apache.log4j.spi.Thresholdable)
        - org.apache.log4j.db.CustomSQLDBReceiver (implements org.apache.log4j.plugins.Pauseable, org.apache.log4j.xml.UnrecognizedElementHandler)
        - org.apache.log4j.db.DBReceiver (implements org.apache.log4j.plugins.Pauseable, org.apache.log4j.xml.UnrecognizedElementHandler)
        - org.apache.log4j.chainsaw.Generator (implements java.lang.Runnable)
        - org.apache.log4j.net.JMSReceiver (implements javax.jms.MessageListener)
        - org.apache.log4j.varia.LogFilePatternReceiver
          - org.apache.log4j.chainsaw.vfs.VFSLogFilePatternReceiver (implements org.apache.log4j.chainsaw.receivers.VisualReceiver)
        - org.apache.log4j.xml.LogFileXMLReceiver
        - org.apache.log4j.net.MulticastReceiver (implements org.apache.log4j.net.AddressBased, org.apache.log4j.plugins.Pauseable, org.apache.log4j.net.PortBased)
        - org.apache.log4j.net.UDPReceiver (implements org.apache.log4j.plugins.Pauseable, org.apache.log4j.net.PortBased)
        - org.apache.log4j.net.XMLSocketReceiver (implements org.apache.log4j.plugins.Pauseable, org.apache.log4j.net.PortBased, java.lang.Runnable)
    - org.apache.log4j.db.dialect.Util
    - org.apache.log4j.net.XMLSocketNode (implements java.lang.Runnable)
  - org.apache.log4j.db.DBHelper
  - org.apache.log4j.chainsaw.layout.DefaultLayoutFactory
  - javax.swing.tree.DefaultTreeModel (implements java.io.Serializable, javax.swing.tree.TreeModel)
    - org.apache.log4j.chainsaw.receivers.ReceiversTreeModel (implements org.apache.log4j.plugins.PluginListener)
  - org.apache.log4j.spi.ErrorItem
  - java.util.EventObject (implements java.io.Serializable)
    - org.apache.log4j.chainsaw.NewKeyEvent
    - org.apache.log4j.plugins.PluginEvent
    - org.apache.log4j.chainsaw.prefs.SaveSettingsEvent
    - org.apache.log4j.chainsaw.prefs.SettingsEvent
      - org.apache.log4j.chainsaw.prefs.LoadSettingsEvent
  - org.apache.log4j.chainsaw.filter.EventTypeEntryContainer
  - org.apache.log4j.chainsaw.dnd.FileDnDTarget (implements java.awt.dnd.DropTargetListener)
  - org.apache.log4j.chainsaw.filter.FilterModel
  - org.apache.log4j.chainsaw.help.HelpManager
  - org.apache.log4j.db.dialect.HSQLDBDialect (implements org.apache.log4j.db.dialect.SQLDialect)
  - org.apache.log4j.chainsaw.JTextComponentFormatter
  - java.awt.event.KeyAdapter (implements java.awt.event.KeyListener)
    - org.apache.log4j.chainsaw.ExpressionRuleContext
  - org.apache.log4j.Layout (implements org.apache.log4j.spi.OptionHandler)
    - org.apache.log4j.chainsaw.layout.EventDetailLayout
  - org.apache.log4j.chainsaw.icons.LevelIconFactory
  - org.apache.log4j.chainsaw.icons.LineIconFactory
  - org.apache.log4j.spi.Log4JULogger (implements org.apache.log4j.ULogger)
  - org.apache.log4j.chainsaw.LogFilePatternLayoutBuilder
  - org.apache.log4j.chainsaw.LoggerNameModelSupport (implements org.apache.log4j.chainsaw.LoggerNameModel)
  - org.apache.log4j.LoggerRepositoryExImpl (implements org.apache.log4j.spi.LoggerRepositoryEx, org.apache.log4j.spi.RendererSupport, org.apache.log4j.xml.UnrecognizedElementHandler)
  - org.apache.log4j.chainsaw.LoggingEventWrapper
  - org.apache.log4j.chainsaw.LogPanelPreferenceModel (implements java.io.Serializable)
  - org.apache.log4j.rewrite.MapRewritePolicy (implements org.apache.log4j.rewrite.RewritePolicy)
  - org.apache.log4j.chainsaw.messages.MessageCenter
  - org.apache.log4j.helpers.MessageFormatter
  - java.awt.event.MouseAdapter (implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener)
    - org.apache.log4j.chainsaw.PopupListener
  - org.apache.log4j.chainsaw.prefs.MRUFileList
  - org.apache.log4j.chainsaw.prefs.MRUFileListPreferenceSaver (implements org.apache.log4j.chainsaw.prefs.SettingsListener)
  - org.apache.log4j.db.dialect.MsSQLDialect (implements org.apache.log4j.db.dialect.SQLDialect)
  - org.apache.log4j.db.dialect.MySQLDialect (implements org.apache.log4j.db.dialect.SQLDialect)
  - org.apache.log4j.spi.NOPULogger (implements org.apache.log4j.ULogger)
  - org.apache.log4j.db.dialect.OracleDialect (implements org.apache.log4j.db.dialect.SQLDialect)
  - org.apache.log4j.chainsaw.osx.OSXIntegration
  - org.apache.log4j.chainsaw.plugins.PluginClassLoaderFactory
  - org.apache.log4j.plugins.PluginRegistry
  - org.apache.log4j.db.dialect.PostgreSQLDialect (implements org.apache.log4j.db.dialect.SQLDialect)
  - org.apache.log4j.Priority
    - org.apache.log4j.Level (implements java.io.Serializable)
      - org.apache.log4j.helpers.UtilLoggingLevel
  - org.apache.log4j.chainsaw.prefs.ProfileManager
  - org.apache.log4j.rewrite.PropertyRewritePolicy (implements org.apache.log4j.rewrite.RewritePolicy)
  - org.apache.log4j.chainsaw.receivers.ReceiversHelper
  - org.apache.log4j.rewrite.ReflectionRewritePolicy (implements org.apache.log4j.rewrite.RewritePolicy)
  - org.apache.log4j.chainsaw.color.RuleColorizer (implements org.apache.log4j.chainsaw.color.Colorizer)
  - org.apache.log4j.chainsaw.SavableTabSetting
  - org.apache.log4j.chainsaw.prefs.SettingsManager
  - java.beans.SimpleBeanInfo (implements java.beans.BeanInfo)
    - org.apache.log4j.chainsaw.GeneratorBeanInfo
    - org.apache.log4j.net.JMSReceiverBeanInfo
    - org.apache.log4j.varia.LogFilePatternReceiverBeanInfo
    - org.apache.log4j.net.MulticastReceiverBeanInfo
    - org.apache.log4j.chainsaw.vfs.VFSLogFilePatternReceiverBeanInfo
  - org.apache.log4j.spi.SimpleULogger (implements org.apache.log4j.ULogger)
  - org.apache.log4j.chainsaw.SortArrowIcon (implements javax.swing.Icon)
  - org.apache.log4j.chainsaw.helper.SwingHelper
  - org.apache.log4j.db.dialect.SybaseDialect (implements org.apache.log4j.db.dialect.SQLDialect)
  - org.apache.log4j.chainsaw.helper.TableCellEditorFactory
  - org.apache.log4j.chainsaw.xstream.TableColumnConverter (implements com.thoughtworks.xstream.converters.Converter)
  - java.lang.Thread (implements java.lang.Runnable)
    - org.apache.log4j.scheduler.Scheduler
  - org.apache.log4j.chainsaw.help.Tutorial (implements java.lang.Runnable)
  - org.apache.log4j.xml.UtilLoggingEntityResolver (implements org.xml.sax.EntityResolver)
  - org.apache.log4j.xml.UtilLoggingXMLDecoder (implements org.apache.log4j.spi.Decoder)
  - org.apache.log4j.chainsaw.version.VersionManager
  - org.apache.log4j.xml.XMLDecoder (implements org.apache.log4j.spi.Decoder)
  - org.apache.log4j.chainsaw.zeroconf.ZeroConfPreferenceModel

## Interface Hierarchy

- org.apache.log4j.chainsaw.ChainsawViewer
- org.apache.log4j.chainsaw.color.Colorizer
- org.apache.log4j.spi.Component
  - org.apache.log4j.db.ConnectionSource (also extends org.apache.log4j.spi.OptionHandler)
- org.apache.log4j.helpers.Constants
- org.apache.log4j.spi.Decoder
- java.util.EventListener
  - org.apache.log4j.chainsaw.EventBatchListener
  - org.apache.log4j.chainsaw.EventCountListener
  - org.apache.log4j.chainsaw.LoggerNameListener
  - org.apache.log4j.chainsaw.NewKeyListener
  - org.apache.log4j.plugins.PluginListener
  - org.apache.log4j.chainsaw.prefs.SettingsListener
    - org.apache.log4j.chainsaw.prefs.Profileable
  - org.apache.log4j.chainsaw.ShutdownListener
  - org.apache.log4j.net.SocketNodeEventListener
- org.apache.log4j.scheduler.Job
- org.apache.log4j.spi.LoggerEventListener
- org.apache.log4j.chainsaw.LoggerNameModel
  - org.apache.log4j.chainsaw.EventContainer (also extends org.apache.log4j.chainsaw.SortTableModel)
- org.apache.log4j.spi.LoggerRepository
  - org.apache.log4j.spi.LoggerRepositoryEx
- org.apache.log4j.spi.LoggerRepositoryEventListener
- org.apache.log4j.net.NetworkBased
  - org.apache.log4j.net.AddressBased
  - org.apache.log4j.net.PortBased
- org.apache.log4j.spi.OptionHandler
  - org.apache.log4j.db.ConnectionSource (also extends org.apache.log4j.spi.Component)
  - org.apache.log4j.plugins.Plugin
- org.apache.log4j.plugins.Pauseable
- org.apache.log4j.rewrite.RewritePolicy
- org.apache.log4j.db.dialect.SQLDialect
- javax.swing.table.TableModel
  - org.apache.log4j.chainsaw.SortTableModel
    - org.apache.log4j.chainsaw.EventContainer (also extends org.apache.log4j.chainsaw.LoggerNameModel)
- org.apache.log4j.spi.Thresholdable
- org.apache.log4j.ULogger
- org.apache.log4j.chainsaw.receivers.VisualReceiver