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.