Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.uima.pear.util
Class MessageRouter

    java.lang.Object
      org.apache.uima.pear.util.MessageRouter

All Implemented Interfaces:
  Runnable

    public class MessageRouter

extends Object
implements Runnable

The `MessageRouter` class facilitates intra-process message routing. It provides application classes with convenient access to the message channels via the `PrintWriter` class. The `MessageRouter` class, by default, defines 2 standard message channels - for standard output and standard error messages. Applications can publish their standard output and standard error messages using the `outWriter()` and `errWriter()` methods correspondingly.
The `MessageRouter` class distributes the messages to a number of message channel listeners, added by applications. Standard message channel listeners should implement the `MessageRouter.StdChannelListener` interface. The `MessageRouter` class collects all published messages. When a new message channel listener is added, it receives all collected messages from the message history.

The `MessageRouter` code runs in a separate thread that should be started and terminated by applications. Applications should use the `start()` and `terminate()` methods to start and terminate the `MessageRouter` thread correspondingly.
For terminology see the Enterprise Integration Patterns book.

Nested Class Summary
`static interface` | `MessageRouter.StdChannelListener` The `StdChannelListener` interface declares methods that should be implemented by each standard message channel listener.

Constructor Summary
`MessageRouter()` Default constructor for the `MessageRouter` class.

Method Summary
`void` | `addChannelListener(MessageRouter.StdChannelListener listener)` Adds a given object, implementing the `StdChannelListener` interface, to the list of standard message channel listeners.
`int` | `countStdChannelListeners()`
`PrintWriter` | `errWriter()`
`boolean` | `isRunning()`
`PrintWriter` | `outWriter()`
`void` | `removeChannelListener(MessageRouter.StdChannelListener listener)` Removes a given `StdChannelListener` object from the list of standard channel listeners.
`void` | `run()` Implements the main service method that runs in a separate thread.
`void` | `start()` Starts the main service thread.
`void` | `terminate()` Terminates the main service thread.

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

Constructor Detail

### MessageRouter

    public MessageRouter()

  Default constructor for the `MessageRouter` class. This constructor allocates all resources, but does not start the main service thread. Applications should start the `MessageRouter` thread using the `start()` method.

Method Detail

### addChannelListener

    public void addChannelListener(MessageRouter.StdChannelListener listener)

  Adds a given object, implementing the `StdChannelListener` interface, to the list of standard message channel listeners. Sends to the new listener all previously collected messages for this channel.

  Parameters:
    `listener` - The given new standard message channel listener.

### countStdChannelListeners

    public int countStdChannelListeners()

  Returns:
    Current number of standard channel listeners.

### isRunning

    public boolean isRunning()

  Returns:
    `true`, if the router thread is running, `false` otherwise.

### removeChannelListener

    public void removeChannelListener(MessageRouter.StdChannelListener listener)

  Removes a given `StdChannelListener` object from the list of standard channel listeners.

  Parameters:
    `listener` - The `StdChannelListener` object to be removed from the list.

### run

    public void run()

  Implements the main service method that runs in a separate thread.

  Specified by:
    `run` in interface `Runnable`

### errWriter

    public PrintWriter errWriter()

  Returns:
    The standard error message channel writer.

### outWriter

    public PrintWriter outWriter()

  Returns:
    The standard output message channel writer.

### start

    public void start()

  Starts the main service thread.

### terminate

    public void terminate()

  Terminates the main service thread.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008 The Apache Software Foundation. All Rights Reserved.