## grendel.ui
Class MessageDisplayManager

    java.lang.Object
      |
      +--grendel.ui.MessageDisplayManager

Direct Known Subclasses:
  MultiMessageDisplayManager, UnifiedMessageDisplayManager

public abstract class MessageDisplayManager
extends java.lang.Object

Handles attempts to view messages, folders and their contents, without assuptions about the UI layout. Potential side affects for given actions are detailed. The resulting window state should be order independent if overlapping arguments are the same with the exception of window focus. That is,

     displayMaster(folderA);
     displayFolder(folderA, messageA);

should result in the same windows and selections as

     displayFolder(foldarA, messageA);
     displayMaster(folderA);

but the result of

     displayFolder(folderA, messageA);
     displayMaster(folderB):

is undefined. If multiple windows are opened as the result of multiple calls, focus will be shifted to the last opened window. Focus will always be shifted to the last acted upon view.

Constructor Summary
`MessageDisplayManager()`

Method Summary
`abstract void` | `displayFolder(javax.mail.Folder aFolder)` Displays a folder given a folder object.
`abstract void` | `displayFolder(javax.mail.Folder aFolder, javax.mail.Message aMessage)` Displays folder given a Folder object and selects a message in that folder given a Message object.
`abstract void` | `displayMaster()` Displays the master (A folder tree, for now).
`abstract void` | `displayMaster(javax.mail.Folder aFolder)` Displays the master with the given folder selected.
`abstract void` | `displayMessage(javax.mail.Message aMessage)` Displays a message given a Message object.
`static MessageDisplayManager` | `GetDefaultManager()` Gets the default message display manager
`static void` | `SetDefaultManager(MessageDisplayManager aManager)` Sets the default message display manager

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MessageDisplayManager

    public MessageDisplayManager()

Method Detail

### SetDefaultManager

    public static void SetDefaultManager(MessageDisplayManager aManager)

  Sets the default message display manager

### GetDefaultManager

    public static MessageDisplayManager GetDefaultManager()

  Gets the default message display manager

### displayMessage

    public abstract void displayMessage(javax.mail.Message aMessage)

  Displays a message given a Message object. This may affect displayed folders.

### displayFolder

    public abstract void displayFolder(javax.mail.Folder aFolder)

  Displays a folder given a folder object. This may affect displayed messages.

### displayFolder

    public abstract void displayFolder(javax.mail.Folder aFolder,
                                       javax.mail.Message aMessage)

  Displays folder given a Folder object and selects a message in that folder given a Message object. This may or may not also display the message, but it will not open multiple windows.

### displayMaster

    public abstract void displayMaster()

  Displays the master (A folder tree, for now). This should not affect displayed folders or messages.

### displayMaster

    public abstract void displayMaster(javax.mail.Folder aFolder)

  Displays the master with the given folder selected. This may affect displayed folders and messages.