## Hierarchy For All Packages

Package Hierarchies:
  calypso.util, dog.mail.nntp, dog.mail.util, grendel, grendel.addressbook, grendel.addressbook.addresscard, grendel.composition, grendel.dnd, grendel.mime, grendel.mime.encoder, grendel.mime.extractor, grendel.mime.html, grendel.mime.parser, grendel.prefs, grendel.prefs.base, grendel.prefs.ui, grendel.search, grendel.storage, grendel.storage.addressparser, grendel.storage.intertwingle, grendel.storage.mdb, grendel.ui, grendel.util, grendel.view, grendel.widgets

## Class Hierarchy

- class java.lang.Object
  - class calypso.util.Abacus
  - class javax.swing.AbstractAction (implements javax.swing.Action, java.lang.Cloneable, java.io.Serializable)
    - class grendel.ui.UIAction
  - class java.util.AbstractCollection (implements java.util.Collection)
    - class java.util.AbstractList (implements java.util.List)
      - class java.util.Vector (implements java.lang.Cloneable, java.util.List, java.io.Serializable)
        - class grendel.addressbook.addresscard.AC_IDSet
        - class calypso.util.Vec
  - class javax.swing.table.AbstractTableModel (implements java.io.Serializable, javax.swing.table.TableModel)
    - class grendel.addressbook.AddressBook.DataModel
  - class grendel.addressbook.addresscard.AC_Attribute (implements grendel.addressbook.addresscard.IAttribute)
  - class grendel.addressbook.addresscard.AC_ID
  - class grendel.addressbook.addresscard.ACS_Personal (implements grendel.addressbook.addresscard.ICardSource, grendel.addressbook.addresscard.IQuerySet)
  - class grendel.ui.ActionFactory
  - class grendel.addressbook.addresscard.AddressCard (implements grendel.addressbook.addresscard.ICard)
  - class grendel.addressbook.addresscard.AddressCardAttribute (implements grendel.addressbook.addresscard.IAttribute)
  - class grendel.addressbook.addresscard.AddressCardAttributeSet (implements grendel.addressbook.addresscard.IAttributeSet)
  - class grendel.addressbook.addresscard.AddressCardSet (implements grendel.addressbook.addresscard.ICardSet)
  - class grendel.composition.Addressee
  - class calypso.util.ArrayEnumeration (implements java.util.Enumeration)
  - class calypso.util.Assert
  - class calypso.util.Atom
  - class calypso.util.AttributeValuePair
  - class javax.mail.Authenticator
    - class grendel.ui.DialogAuthenticator
  - class grendel.storage.intertwingle.BaseDB (implements grendel.storage.intertwingle.DB)
    - class grendel.storage.intertwingle.BGDB (implements java.lang.Runnable)
    - class grendel.storage.intertwingle.SimpleDB
  - class calypso.util.ByteBuf
  - class calypso.util.ByteLineBuffer
  - class calypso.util.CharArray
  - class calypso.util.CharArrayIterator (implements java.text.CharacterIterator)
  - class java.lang.ClassLoader
    - class calypso.util.URLClassLoader
  - class grendel.widgets.Column
  - class grendel.widgets.ColumnModelImp (implements grendel.widgets.ColumnChangeListener, grendel.widgets.ColumnModel)
  - class java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
    - class grendel.widgets.Animation (implements java.lang.Runnable)
    - class java.awt.Container
      - class javax.swing.JComponent (implements java.io.Serializable)
        - class javax.swing.AbstractButton (implements java.awt.ItemSelectable, javax.swing.SwingConstants)
          - class javax.swing.JButton (implements javax.accessibility.Accessible)
            - class grendel.widgets.ToolBarButton (implements java.awt.event.MouseListener)
          - class javax.swing.JMenuItem (implements javax.accessibility.Accessible, javax.swing.MenuElement)
            - class javax.swing.JMenu (implements javax.accessibility.Accessible, javax.swing.MenuElement)
              - class grendel.widgets.MenuCtrl (implements grendel.widgets.Control)
        - class grendel.widgets.ColumnHeader (implements grendel.widgets.ColumnModelListener)
        - class grendel.widgets.DefaultCellRenderer (implements grendel.widgets.CellRenderer)
        - class grendel.widgets.DefaultHeaderRenderer (implements grendel.widgets.HeaderRenderer)
        - class javax.swing.JComboBox (implements javax.accessibility.Accessible, java.awt.event.ActionListener, java.awt.ItemSelectable, javax.swing.event.ListDataListener)
          - class grendel.ui.FolderCombo
        - class javax.swing.JMenuBar (implements javax.accessibility.Accessible, javax.swing.MenuElement)
          - class grendel.widgets.MenuBarCtrl (implements grendel.widgets.Control)
        - class javax.swing.JPanel (implements javax.accessibility.Accessible)
          - class grendel.composition.AddressList.AddressLine
          - class grendel.composition.AddressList.AddressPanel (implements java.awt.event.KeyListener)
          - class grendel.composition.AddressList.DeliveryButton (implements java.awt.event.ActionListener, java.awt.event.FocusListener, java.awt.event.KeyListener, java.awt.event.MouseListener)
          - class grendel.composition.AddressList.DragIcon
          - class grendel.widgets.CollapsiblePanel (implements grendel.widgets.Collapsible)
          - class grendel.ui.GeneralPanel
            - class grendel.composition.CompositionPanel
            - class grendel.ui.FolderPanel
            - class grendel.ui.MasterPanel
            - class grendel.ui.MessagePanel
          - class grendel.composition.OptionsPanel (implements java.io.Serializable)
          - class grendel.ui.PageUI
          - class grendel.search.SearchPanel
          - class grendel.search.TermPanel (implements grendel.widgets.SelectionListener)
            - class grendel.search.NaryTermPanel
          - class grendel.prefs.UIPrefsEditor (implements java.beans.PropertyEditor)
        - class javax.swing.JScrollPane (implements javax.accessibility.Accessible, javax.swing.ScrollPaneConstants)
          - class grendel.composition.AddressList (implements java.io.Serializable)
          - class grendel.composition.AttachmentsList (implements java.io.Serializable)
        - class javax.swing.JTabbedPane (implements javax.accessibility.Accessible, java.io.Serializable, javax.swing.SwingConstants)
          - class grendel.composition.NSTabbedPane
            - class grendel.composition.AddressBar
        - class javax.swing.text.JTextComponent (implements javax.accessibility.Accessible, javax.swing.Scrollable)
          - class javax.swing.JTextField (implements javax.swing.SwingConstants)
            - class grendel.composition.AddressList.AddressTextField (implements java.awt.event.FocusListener)
            - class grendel.widgets.TextCellEditor (implements grendel.widgets.CellEditor, javax.swing.event.DocumentListener)
        - class javax.swing.JToolBar (implements javax.accessibility.Accessible, javax.swing.SwingConstants)
          - class grendel.widgets.GrendelToolBar
        - class grendel.ui.MessageHeader
          - class grendel.ui.SimpleMessageHeader
        - class grendel.widgets.Splitter
        - class grendel.widgets.TreeTable (implements grendel.dnd.DropTargetComponent, javax.swing.Scrollable)
      - class grendel.widgets.Spring
      - class java.awt.Window
        - class java.awt.Dialog
          - class javax.swing.JDialog (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
            - class grendel.ui.GeneralDialog
              - class grendel.ui.EditHostDialog
              - class grendel.ui.NewFolderDialog
            - class grendel.ui.PrefsDialog
            - class grendel.addressbook.SearchDirectoryDialog
        - class java.awt.Frame (implements java.awt.MenuContainer)
          - class javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
            - class grendel.prefs.ui.General
            - class grendel.ui.GeneralFrame
              - class grendel.addressbook.AddressBook
              - class grendel.composition.Composition
              - class grendel.ui.FolderFrame
              - class grendel.ui.MessageFrame
              - class grendel.ui.ProgressFrame (implements java.lang.Runnable)
              - class grendel.search.ResultsFrame
              - class grendel.search.SearchFrame
            - class grendel.prefs.ui.Identities
            - class grendel.prefs.ui.Servers
            - class grendel.prefs.ui.UI
        - class javax.swing.JWindow (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer)
          - class grendel.ui.Splash
  - class javax.swing.plaf.ComponentUI
    - class javax.swing.plaf.TabbedPaneUI
      - class javax.swing.plaf.basic.BasicTabbedPaneUI (implements javax.swing.SwingConstants)
        - class javax.swing.plaf.metal.MetalTabbedPaneUI
          - class grendel.composition.NSTabbedPane.MyTabbedPaneUI
  - class calypso.util.ConfigUtils
  - class grendel.util.Constants
  - class calypso.util.Counter
  - class java.util.Dictionary
    - class java.util.Hashtable (implements java.lang.Cloneable, java.util.Map, java.io.Serializable)
      - class java.util.Properties
        - class calypso.util.DefaultPreferences
  - class grendel.dnd.DnDConstants
  - class grendel.dnd.DragSource
  - class grendel.dnd.DragSourceContext
  - class grendel.dnd.DropTarget
  - class grendel.dnd.DropTargetContext
  - class grendel.storage.intertwingle.Dump
  - class calypso.util.EnumerationEnumerator (implements java.util.Enumeration)
  - class java.util.EventObject (implements java.io.Serializable)
    - class grendel.widgets.ColumnModelEvent
    - class grendel.dnd.DragSourceDragEvent
    - class grendel.dnd.DragSourceDropEvent
    - class grendel.dnd.DropTargetEvent
      - class grendel.dnd.DropTargetDragEvent
      - class grendel.dnd.DropTargetDropEvent
    - class grendel.widgets.SelectionEvent
    - class grendel.widgets.StatusEvent
    - class grendel.widgets.TreeTableModelEvent
    - class grendel.view.ViewedStoreEvent
  - class grendel.storage.FilterFolderFactory
  - class javax.mail.Folder
    - class dog.mail.nntp.Newsgroup
  - class grendel.storage.FolderExtraFactory
  - class grendel.ui.FolderListTransferable (implements java.awt.datatransfer.Transferable)
  - class grendel.view.FolderViewFactory
  - class grendel.prefs.base.GeneralPrefs
  - class java.awt.GridBagLayout (implements java.awt.LayoutManager2, java.io.Serializable)
    - class grendel.ui.ToolBarLayout
  - class calypso.util.HashtableBase (implements java.lang.Cloneable)
    - class calypso.util.AtomHashtable
  - class calypso.util.HashtableLite (implements java.lang.Cloneable)
  - class calypso.util.HashtableRecycler
  - class grendel.prefs.base.IdentityArray
  - class grendel.prefs.base.IdentityStructure
  - class calypso.util.IDMap
  - class java.io.InputStream
    - class java.io.FilterInputStream
      - class calypso.util.LineBufferingInputStream
      - class dog.mail.util.MessageInputStream
      - class java.io.PushbackInputStream
        - class dog.mail.util.CRLFInputStream
  - class grendel.prefs.base.InvisiblePrefs
  - class grendel.addressbook.addresscard.LDAP_Attribute (implements grendel.addressbook.addresscard.IAttribute)
  - class grendel.addressbook.addresscard.LDAP_AttributeSet (implements java.util.Enumeration, grendel.addressbook.addresscard.IAttributeSet)
  - class grendel.addressbook.addresscard.LDAP_Card (implements grendel.addressbook.addresscard.ICard)
  - class grendel.addressbook.addresscard.LDAP_CardSet (implements java.util.Enumeration, grendel.addressbook.addresscard.ICardSet)
  - class grendel.addressbook.addresscard.LDAP_Server (implements grendel.addressbook.addresscard.ICardSource, grendel.addressbook.addresscard.IQueryString)
  - class calypso.util.ListenerList
  - class calypso.util.ListenerListState
  - class grendel.search.MailSearch (implements grendel.search.ISearchable)
  - class grendel.prefs.MailServerPrefs
  - class grendel.prefs.MailServerPrefsEditor (implements java.beans.PropertyEditor)
  - class grendel.Main
  - class calypso.util.MemoryManager
  - class calypso.util.MemoryMonitor
  - class javax.mail.Message (implements javax.mail.Part)
    - class javax.mail.internet.MimeMessage (implements javax.mail.internet.MimePart)
      - class dog.mail.nntp.Article
  - class grendel.ui.MessageDisplayManager
    - class grendel.ui.MultiMessageDisplayManager
    - class grendel.ui.UnifiedMessageDisplayManager
  - class grendel.storage.MessageExtraFactory
  - class grendel.util.MessageIDGenerator
  - class grendel.ui.MessageListTransferable (implements java.awt.datatransfer.Transferable)
  - class grendel.mime.encoder.MimeEncoder
    - class grendel.mime.encoder.MimeBase64Decoder
    - class grendel.mime.encoder.MimeBase64Encoder
    - class grendel.mime.encoder.MimeQuotedPrintableDecoder
    - class grendel.mime.encoder.MimeQuotedPrintableEncoder
    - class grendel.mime.encoder.MimeUUDecoder
    - class grendel.mime.encoder.MimeUUEncoder
  - class grendel.mime.extractor.MimeExtractorOperatorFactory
  - class grendel.mime.html.MimeHTMLOperatorFactory
  - class grendel.mime.parser.MimeParserFactory
  - class grendel.widgets.MultiSelectionManager (implements grendel.widgets.SelectionManager)
  - class calypso.util.NetworkDate
  - class grendel.storage.NewsRC
  - class grendel.storage.NewsSet
  - class calypso.util.NullEnumeration (implements java.util.Enumeration)
  - class calypso.util.NullJavaEnumeration (implements java.util.Enumeration)
  - class java.io.OutputStream
    - class calypso.util.CacheOutputStream
    - class java.io.FilterOutputStream
      - class dog.mail.util.CRLFOutputStream
      - class dog.mail.util.MessageOutputStream
  - class grendel.storage.addressparser.P1
  - class grendel.storage.addressparser.P2
  - class grendel.ui.PageModel (implements java.awt.event.ActionListener)
  - class grendel.storage.intertwingle.PhoneTest
  - class calypso.util.PreferencesFactory
  - class calypso.util.PrefetchEnumeration (implements java.util.Enumeration)
    - class calypso.util.ByteToCharConverterEnumeration
    - class calypso.util.CharToByteConverterEnumeration
    - class calypso.util.ClasspathEntryEnumeration
  - class grendel.prefs.Prefs
  - class grendel.ui.ProgressFactory
  - class calypso.util.QSort
  - class calypso.util.RandomAccessFileWithByteLines
  - class calypso.util.Recycler (implements calypso.util.MemoryPressure)
  - class sun.misc.Ref
    - class calypso.util.WeakLink
  - class grendel.storage.addressparser.RFC822AddressList
    - class grendel.storage.addressparser.AddressCorrector
    - class grendel.storage.addressparser.RFC822MailboxList
  - class grendel.storage.addressparser.RFC822Mailbox
  - class calypso.util.RWLock
  - class grendel.addressbook.SearchDirectoryDialog.CancelEvents (implements java.awt.event.ActionListener)
  - class grendel.addressbook.SearchDirectoryDialog.OKEvents (implements java.awt.event.ActionListener)
  - class grendel.storage.SearchResultsFolderFactory
  - class grendel.addressbook.addresscard.SelfTest
  - class grendel.storage.intertwingle.SelfTest
  - class calypso.util.SelfTest
  - class grendel.prefs.base.ServerArray
  - class grendel.prefs.base.ServerStructure
  - class javax.mail.Service
    - class javax.mail.Store
      - class grendel.storage.BerkeleyStore
      - class grendel.storage.NewsStore
      - class dog.mail.nntp.NNTPStore (implements dog.util.StatusSource)
      - class grendel.storage.PopStore
  - class calypso.util.SignedInteger
  - class java.beans.SimpleBeanInfo (implements java.beans.BeanInfo)
    - class grendel.composition.AddressListBeanInfo
    - class grendel.composition.AttachmentsListBeanInfo
    - class grendel.prefs.PrefsBeanInfo
  - class grendel.widgets.SingleSelectionManager (implements grendel.widgets.SelectionManager)
  - class grendel.ui.StoreFactory
  - class calypso.util.StringBuf
  - class calypso.util.StringUtils
  - class calypso.util.TempFile
  - class grendel.addressbook.addresscard.TermAnd (implements grendel.addressbook.addresscard.ITerm)
  - class grendel.addressbook.addresscard.TermEqual (implements grendel.addressbook.addresscard.ITerm)
  - class grendel.addressbook.addresscard.TermNotEqual (implements grendel.addressbook.addresscard.ITerm)
  - class grendel.addressbook.addresscard.TermOr (implements grendel.addressbook.addresscard.ITerm)
  - class java.lang.Throwable (implements java.io.Serializable)
    - class java.lang.Error
      - class calypso.util.AssertionError
      - class calypso.util.AssertionException
    - class java.lang.Exception
      - class grendel.addressbook.addresscard.AC_Exception
      - class grendel.dnd.InvalidDnDOperationException
      - class java.io.IOException
        - class grendel.storage.MailDropException
      - class calypso.util.SelfTestException
  - class grendel.widgets.ToggleCellEditor (implements java.awt.event.ActionListener, grendel.widgets.CellEditor)
  - class grendel.widgets.ToggleCellRenderer (implements grendel.widgets.CellRenderer)
  - class grendel.widgets.TreePath
  - class grendel.widgets.TreeTableModelBroadcaster (implements grendel.widgets.TreeTableModelListener)
  - class grendel.storage.intertwingle.Twingle (implements java.lang.Runnable)
  - class grendel.ui.UIFactory
  - class grendel.prefs.UIPrefs
  - class grendel.prefs.base.UIPrefs
  - class grendel.storage.UnixDotLock
  - class grendel.prefs.UserPrefs
  - class grendel.prefs.UserPrefsEditor (implements java.beans.PropertyEditor)
  - class grendel.ui.Util
  - class calypso.util.VectorRecycler
  - class grendel.view.ViewedFolderBase (implements grendel.view.ViewedFolder)
    - class grendel.view.ViewedStoreBase (implements grendel.view.ViewedStore)
  - class calypso.util.WeakLinkArray
  - class java.awt.event.WindowAdapter (implements java.awt.event.WindowListener)
    - class grendel.addressbook.AddressBook.AppCloser
    - class grendel.addressbook.AddressBook.FrameHider
    - class grendel.composition.CompositionTest.AppCloser
    - class grendel.addressbook.SearchDirectoryDialog.AppCloser
  - class grendel.ui.XMLWidgetBuilder
    - class grendel.ui.XMLMenuBuilder
    - class grendel.ui.XMLPageBuilder
- class grendel.SelfTest
  - class grendel.storage.SelfTest
- class grendel.composition.TestDataSource2

## Interface Hierarchy

- interface javax.swing.CellEditor
  - interface grendel.widgets.CellEditor
- interface grendel.widgets.CellRenderer
- interface grendel.widgets.Collapsible
- interface grendel.widgets.ColumnModel
- interface calypso.util.Comparer
- interface grendel.widgets.Control
- interface grendel.storage.intertwingle.DB
- interface grendel.dnd.DropTargetComponent
- interface java.util.EventListener
  - interface grendel.widgets.ColumnChangeListener
  - interface grendel.widgets.ColumnModelListener
  - interface grendel.composition.CompositionPanelListener
  - interface grendel.dnd.DragSourceListener
  - interface grendel.dnd.DropTargetListener
  - interface grendel.ui.MasterPanelListener
  - interface grendel.ui.MessagePanelListener
  - interface grendel.widgets.SelectionListener
  - interface grendel.widgets.TreeTableModelListener
  - interface grendel.view.ViewedStoreListener
- interface grendel.storage.FolderExtra
- interface grendel.ui.FolderPanelListener
- interface grendel.widgets.HeaderRenderer
- interface grendel.addressbook.addresscard.IAttribute
- interface grendel.addressbook.addresscard.IAttributeSet
- interface grendel.addressbook.addresscard.ICard
- interface grendel.addressbook.addresscard.ICardSet
- interface grendel.addressbook.addresscard.ICardSource
- interface grendel.mime.IMimeObject
- interface grendel.mime.IMimeOperator
- interface grendel.mime.IMimeParser
- interface grendel.addressbook.addresscard.IQuerySet
- interface grendel.addressbook.addresscard.IQueryString
- interface grendel.search.ISearchable
- interface grendel.search.ISearchAttribute
- interface grendel.search.ISearchResults
- interface grendel.addressbook.addresscard.ITerm
- interface grendel.storage.MailDrop
- interface calypso.util.MemoryPressure
- interface grendel.storage.MessageExtra
- interface grendel.view.MessageSetView
  - interface grendel.view.FolderView
- interface grendel.view.MessageSetViewObserver
- interface grendel.storage.mdb.nsIMdbErrorHook
- interface grendel.storage.mdb.nsIMdbObject
  - interface grendel.storage.mdb.nsIMdbCollection
    - interface grendel.storage.mdb.nsIMdbRow
    - interface grendel.storage.mdb.nsIMdbTable
  - interface grendel.storage.mdb.nsIMdbCursor
    - interface grendel.storage.mdb.nsIMdbTableRowCursor
  - interface grendel.storage.mdb.nsIMdbEnv
  - interface grendel.storage.mdb.nsIMdbFactory
  - interface grendel.storage.mdb.nsIMdbPort
    - interface grendel.storage.mdb.nsIMdbStore
- interface calypso.util.Preferences
- interface grendel.widgets.SelectionManager
- interface grendel.widgets.TreeTableDataModel
- interface grendel.view.ViewedFolder
  - interface grendel.view.ViewedStore
- interface grendel.view.ViewedMessage