PIRL

PIRL.Conductor.Maestro
Class Kapellmeister

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by PIRL.Conductor.Maestro.Kapellmeister
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants, Message_Delivered_Listener

public class Kapellmeister
extends JFrame
implements Message_Delivered_Listener

A Kapellmeister is a management tool for Theaters where Conductors are located.

A Kapellmeister provides a GUI for the management of Theater locations. The Kapelmeister maintains a list of all Theaters it knows about along with the connected and disconnected status for the Stage_Manager at the Theater location. A summary status report from any connected Stage_Manager may be obtained for a selected Theater location.

The Stage_Manager at each Theater location is used to communicate with a set of Conductors assigned to the Theater. A Kapellmeister provides a table of all Conductors, and the Theater of each, along with the current processing status of each Conductor. A Profile table in the form of a matrix displays the counts of Conductors in each of the possible processing states, along with the total number of Conductors, for each unique combination of Theater and named Conductor, The name of a Conductor is typically the same as the name of the pipeline it is managing.

A Manager window may be opened onto any Conductor. The Manager offers detailed monitoring and management of the Conductor operation. A Kapellmeister provides basic start, stop, error reset, and quit controls that may be applied to selections of Conductors. The Kapelmeister can be used to define new Conductor instances to be run at any Theater location.

A file that defines the current Conductors and Theaters Profile may be generated by a Kapellmeister. A Profile file may be read by a Kapellmeister to produce the defined Conductor instances on all the specified Theaters. Defined Conductor instances that are not already present will be started; those that are already present will be quit, or stopped if they are currently running (they may optionally be aborted). Profile files, which are in Parameter Value Language text format, may be written by users as desired. Profile files that only specify Theater locations may be used to profide a Kapellmeister with a list of Theater locations to connect to and simply discover the Conductors that are operating there. A Profile file or a set of Theater locations may be specified on the Kapellmeister command line or interactively specified using the GUI.

All Conductor state information is provided directory from the operating Conductors via the Stage_Mangers; no Database tables or other intermediary information repositories are used. Conductor state information arrives and is posted to the Kapellmeister and Manager displays in real-time; no data polling cycles are used.

Connection to a Stage_Manager at a Theater location typically must be authenticated with a secure, public-private, encoded key exchange. The keys are based on a password - a character string of any length - that is known to the Stage_Manager and made known to a Kapellmeister.

A Configuration file is used to provide parameter values, including a default Stage_Manager password, that initialize various Stage_Manager communication variables and initial GUI control states.

Version:
1.111
Author:
Bradford Castalia - UA/PIRL
See Also:
Theater, Stage_Manager, Profile, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static String ADDRESS_PARAMETER_NAME
           
static String CATALOG_PARAMETER_NAME
           
static String CONDUCTOR_NAME
          The name of Conductor identities from the Stage_Manager.
static String CONDUCTORS_PARAMETER_NAME
           
static String CONFIGURATION_SOURCE_PARAMETER_NAME
           
static String CONFIRM_CONDUCTOR_ABORT_PARAMETER_NAME
           
static String DATABASE_SERVER_PARAMETER_NAME
           
static String DEFAULT_CONFIGURATION_FILENAME
          The default Configuration source filename.
static int EXIT_COMMAND_LINE_SYNTAX
          Command line syntax problem exit status (1).
static int EXIT_CONFIG_FILE_PROBLEM
          The log file could not be opened for writing exit status.
static int EXIT_SUCCESS
          Success exit status (0).
static int EXIT_UNEXPECTED_EXCEPTION
          An unexpected exception occured.
static int EXIT_UNRECOVERABLE_ERROR
          A fatal unrecoverable error was encountered.
static String ID
          Class identification name with source code version and date.
static String Kapellmeister_Icon_Source
           
static Message KAPELLMEISTER_IDENTITY
          The Messenger client identity Message.
static String KAPELLMEISTER_NAME
          The name included in the KAPELLMEISTER_IDENTITY and used to find Configuration parameters.
static String MASKED_PASSWORD
          Value used to display the Configuration password parameters.
static SimpleAttributeSet MESSAGE_DELIVERED_STYLE
          Message monitor auto-styling attributes.
static SimpleAttributeSet MESSAGE_SENT_STYLE
          Message monitor auto-styling attributes.
static String PASSWORD_PARAMETER_NAME
           
static String PIPELINE_PARAMETER_NAME
           
static String PORT_PARAMETER_NAME
           
static String PROFILE_WAIT_TO_START_PARAMETER_NAME
           
static String RECEIVE_TIMEOUT_PARAMETER_NAME
           
static String THEATER_KEY_PARAMETER_NAME
           
static String THEATER_LOCATION_PARAMETER_NAME
           
static String THEATERS_PARAMETER_NAME
           
static String TOOLTIPS_PARAMETER_NAME
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Kapellmeister()
          Constructs a Kapellmeister using the default configuration.
Kapellmeister(Configuration configuration)
           
Kapellmeister(Vector<String> sources)
           
Kapellmeister(Vector<String> sources, Configuration configuration)
           
 
Method Summary
 boolean Config_Flag(String name, boolean default_value)
          Get the boolean value of a configuration parameter.
 String Config_Pathname(String name)
          Get the configuration pathname for a parameter name.
 String Config_Value(String name)
          Get the String value of a configuration parameter.
protected  boolean Config_Value(String name, Object value)
          Set a parameter in the configuration.
 void Configure(Configuration configuration)
          Configure the Kapellmeister.
 Kapellmeister CWD(File file)
          Sets the current working directory for finding Profile files.
 Kapellmeister CWD(String pathname)
          Sets the current working directory for finding Profile files.
 int Default_Theater_Port()
          Get the default Stage_Manager socket communications port number.
 Kapellmeister Default_Theater_Port(int port)
          Set the default Stage_Manager socket communications port number.
 Message Listener_Identity()
          Get the idenity of this Messenger client.
static void main(String[] args)
           
 void Message_Delivered(Message_Delivered_Event event)
          Take delivery of a Message and queue it for disposition.
 int Receive_Timeout()
          Get the maximum amount of time, in seconds, that will be used when waiting for a Theater protocol Message to be received.
 Kapellmeister Receive_Timeout(int timeout)
          Set the maximum amount of time, in seconds, that will be used when waiting for a Theater protocol Message to be received.
static void Usage()
           
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

ID

public static final String ID
Class identification name with source code version and date.

See Also:
Constant Field Values

KAPELLMEISTER_NAME

public static final String KAPELLMEISTER_NAME
The name included in the KAPELLMEISTER_IDENTITY and used to find Configuration parameters.

See Also:
Constant Field Values

KAPELLMEISTER_IDENTITY

public static final Message KAPELLMEISTER_IDENTITY
The Messenger client identity Message.

The identity contains the KAPELLMEISTER_NAME Identity, a Message.CLASS_ID_PARAMETER_NAME parameter with the ID value, and a Configuration.HOST parameter with the Host.FULL_HOSTNAME value.


DEFAULT_CONFIGURATION_FILENAME

public static final String DEFAULT_CONFIGURATION_FILENAME
The default Configuration source filename.

See Also:
Constant Field Values

THEATERS_PARAMETER_NAME

public static final String THEATERS_PARAMETER_NAME
See Also:
Constant Field Values

THEATER_LOCATION_PARAMETER_NAME

public static final String THEATER_LOCATION_PARAMETER_NAME
See Also:
Constant Field Values

ADDRESS_PARAMETER_NAME

public static final String ADDRESS_PARAMETER_NAME
See Also:
Constant Field Values

THEATER_KEY_PARAMETER_NAME

public static final String THEATER_KEY_PARAMETER_NAME
See Also:
Constant Field Values

CONDUCTORS_PARAMETER_NAME

public static final String CONDUCTORS_PARAMETER_NAME
See Also:
Constant Field Values

PIPELINE_PARAMETER_NAME

public static final String PIPELINE_PARAMETER_NAME
See Also:
Constant Field Values

CATALOG_PARAMETER_NAME

public static final String CATALOG_PARAMETER_NAME
See Also:
Constant Field Values

CONFIGURATION_SOURCE_PARAMETER_NAME

public static final String CONFIGURATION_SOURCE_PARAMETER_NAME
See Also:
Constant Field Values

DATABASE_SERVER_PARAMETER_NAME

public static final String DATABASE_SERVER_PARAMETER_NAME
See Also:
Constant Field Values

CONFIRM_CONDUCTOR_ABORT_PARAMETER_NAME

public static final String CONFIRM_CONDUCTOR_ABORT_PARAMETER_NAME
See Also:
Constant Field Values

PROFILE_WAIT_TO_START_PARAMETER_NAME

public static final String PROFILE_WAIT_TO_START_PARAMETER_NAME
See Also:
Constant Field Values

PORT_PARAMETER_NAME

public static final String PORT_PARAMETER_NAME
See Also:
Constant Field Values

RECEIVE_TIMEOUT_PARAMETER_NAME

public static final String RECEIVE_TIMEOUT_PARAMETER_NAME
See Also:
Constant Field Values

PASSWORD_PARAMETER_NAME

public static final String PASSWORD_PARAMETER_NAME
See Also:
Constant Field Values

TOOLTIPS_PARAMETER_NAME

public static final String TOOLTIPS_PARAMETER_NAME
See Also:
Constant Field Values

Kapellmeister_Icon_Source

public static String Kapellmeister_Icon_Source

MASKED_PASSWORD

public static final String MASKED_PASSWORD
Value used to display the Configuration password parameters.

See Also:
Constant Field Values

CONDUCTOR_NAME

public static final String CONDUCTOR_NAME
The name of Conductor identities from the Stage_Manager.

See Also:
Constant Field Values

MESSAGE_DELIVERED_STYLE

public static final SimpleAttributeSet MESSAGE_DELIVERED_STYLE
Message monitor auto-styling attributes.


MESSAGE_SENT_STYLE

public static final SimpleAttributeSet MESSAGE_SENT_STYLE
Message monitor auto-styling attributes.


EXIT_SUCCESS

public static final int EXIT_SUCCESS
Success exit status (0).

See Also:
Constant Field Values

EXIT_COMMAND_LINE_SYNTAX

public static final int EXIT_COMMAND_LINE_SYNTAX
Command line syntax problem exit status (1).

See Also:
Constant Field Values

EXIT_CONFIG_FILE_PROBLEM

public static final int EXIT_CONFIG_FILE_PROBLEM
The log file could not be opened for writing exit status.

See Also:
Constant Field Values

EXIT_UNRECOVERABLE_ERROR

public static final int EXIT_UNRECOVERABLE_ERROR
A fatal unrecoverable error was encountered.

See Also:
Constant Field Values

EXIT_UNEXPECTED_EXCEPTION

public static final int EXIT_UNEXPECTED_EXCEPTION
An unexpected exception occured.

See Also:
Constant Field Values
Constructor Detail

Kapellmeister

public Kapellmeister()
              throws Configuration_Exception
Constructs a Kapellmeister using the default configuration.

The DEFAULT_CONFIGURATION_FILENAME will be

Throws:
Configuration_Exception

Kapellmeister

public Kapellmeister(Vector<String> sources)
              throws Configuration_Exception
Throws:
Configuration_Exception

Kapellmeister

public Kapellmeister(Configuration configuration)
              throws Configuration_Exception
Throws:
Configuration_Exception

Kapellmeister

public Kapellmeister(Vector<String> sources,
                     Configuration configuration)
              throws Configuration_Exception
Throws:
Configuration_Exception
Method Detail

Default_Theater_Port

public int Default_Theater_Port()
Get the default Stage_Manager socket communications port number.

Returns:
The communications port number.
See Also:
Default_Theater_Port(int)

Default_Theater_Port

public Kapellmeister Default_Theater_Port(int port)
Set the default Stage_Manager socket communications port number.

Parameters:
port - The default port for Stage_Manager communications.
Returns:
This Kapellmeister.

Receive_Timeout

public int Receive_Timeout()
Get the maximum amount of time, in seconds, that will be used when waiting for a Theater protocol Message to be received.

Returns:
The timeout value.
See Also:
Receive_Timeout(int)

Receive_Timeout

public Kapellmeister Receive_Timeout(int timeout)
Set the maximum amount of time, in seconds, that will be used when waiting for a Theater protocol Message to be received.

Parameters:
timeout - The default timeout value which is also applied to all Theaters in the Theaters list.
Returns:
This Kapellmeister.

Configure

public void Configure(Configuration configuration)
               throws Configuration_Exception
Configure the Kapellmeister.

Parameter names are case insensitive. All parameters are optional. Parameters will first be sought in the KAPELLMEISTER_NAME group.

PORT_PARAMETER_NAME
The default Stage_Manager communcations socket port number.
RECEIVE_TIMEOUT_PARAMETER_NAME
The maximum amount of time, in seconds, that will be used when waiting for a Theater protocol Message to be received.
Dispatcher.PASSWORD_PARAMETER_NAME
The password required by the Stage_Manager to authenticate client connections. If Dispatcher.UNAUTHENTICATED_CONNECTIONS_ALLOWED is true unauthenticated connections with no password will be accepted.
TOOLTIPS_PARAMETER_NAME
If true, enabled, yes, on, or 1 GUI tooltips will be enabled.

Parameters:
configuration - A Configuration. If null, an attempt will be made to obtain a Configuration using the DEFAULT_CONFIGURATION_FILENAME source.
Throws:
Configuration_Exception

Config_Value

public String Config_Value(String name)
Get the String value of a configuration parameter.

Parameters:
name - The name of the parameter from which to obtain the value. If the name is not an absolute pathname it will be qualified before use.
Returns:
A String value. This will be null if the parameter could not be found in the configuration.

Config_Flag

public boolean Config_Flag(String name,
                           boolean default_value)
Get the boolean value of a configuration parameter.

Parameters:
name - The name of the parameter from which to obtain the value. If the name is not an absolute pathname it will be qualified before use.
default_value - The default value to be returned if the named parameter is not present in the Configuration.
Returns:
The enabled state of the parameter, or the default value if the parameter is not present in the Configuration.

Config_Value

protected boolean Config_Value(String name,
                               Object value)
                        throws Configuration_Exception
Set a parameter in the configuration.

The parameter is set in the parameter group appropriate for the application.

Parameters:
name - The name of the Assignment parameter to have its value set. If the name is not an absolute pathname it will be qualified before use.
value - An Object to use for the parameter's value. : If null, the parameter will have no value; it will be a Token.
Returns:
true if an existing parameter by the same name was replaced; false if the parameter is being set for the first time.
Throws:
Configuration_Exception - If there was a problem setting the parameter.

Config_Pathname

public String Config_Pathname(String name)
Get the configuration pathname for a parameter name.

If the name is not an absolute pathname the KAPELLMEISTER_NAME group name is prepended to the name to form an absolute pathname.

Parameters:
name - A parameter name String.
Returns:
The possibily modified abosulte pathname String.

CWD

public Kapellmeister CWD(String pathname)
                  throws FileNotFoundException
Sets the current working directory for finding Profile files.

Parameters:
pathname - A host filesystem pathname. If null, the "user.dir" System property will be used.
Returns:
This Kapellmeister.
Throws:
FileNotFoundException - If neither the file nor the file's parent refers to an existing directory.
See Also:
CWD(File)

CWD

public Kapellmeister CWD(File file)
                  throws FileNotFoundException
Sets the current working directory for finding Profile files.

Parameters:
file - A File to which to set the CWD. If null, the "user.dir" System property will be used. If the file does not refer to an existing directory, the file's parent will be used.
Returns:
This Kapellmeister.
Throws:
FileNotFoundException - If neither the file nor the file's parent refers to an existing directory.

Listener_Identity

public Message Listener_Identity()
Get the idenity of this Messenger client.

Specified by:
Listener_Identity in interface Message_Delivered_Listener
Returns:
A copy of the KAPELLMEISTER_IDENTITY Message.

Message_Delivered

public void Message_Delivered(Message_Delivered_Event event)
Take delivery of a Message and queue it for disposition.

N.B.: This method is public as a side-effect of implementing the Message_Delivered_Listener interface.

The Message_Delivered_Event is added to a queue and the message disposition method is scheduled for execution on the Swing event thread where the Message_Delivered_Event will be retrieved from the queue and examined for appropriate disposition.

Specified by:
Message_Delivered in interface Message_Delivered_Listener
Parameters:
event - The Message_Delivered_Event that arrived from a Messenger.
See Also:
Message_Delivered_Event

main

public static void main(String[] args)

Usage

public static void Usage()

PIRL

Copyright (C) \ 2003-2009 Bradford Castalia, University of Arizona