KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mule > umo > routing > UMOInboundRouter


1 /*
2  * $Id: UMOInboundRouter.java 3798 2006-11-04 04:07:14Z aperepel $
3  * --------------------------------------------------------------------------------------
4  * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com
5  *
6  * The software in this package is published under the terms of the MuleSource MPL
7  * license, a copy of which has been included with this distribution in the
8  * LICENSE.txt file.
9  */

10
11 package org.mule.umo.routing;
12
13 import org.mule.umo.MessagingException;
14 import org.mule.umo.UMOEvent;
15
16 /**
17  * <code>UMOInboundRouter</code> defines an interface for an inbound Message
18  * router. An inbound router is used to control how events are received by a
19  * component. One or more of these routers can be associated with a
20  * UMOInboundMessageRouter implementation.
21  *
22  * @see UMOInboundMessageRouter
23  * @author <a HREF="mailto:ross.mason@symphonysoft.com">Ross Mason</a>
24  * @version $Revision: 3798 $
25  */

26
27 public interface UMOInboundRouter extends UMORouter
28 {
29     /**
30      * A received UMOEvent is passed to this method for processing. The router can
31      * control processing by either 1. passing back a null to indicate that the
32      * router has either discarded the event of the event has been stored for further
33      * processing. A reaosn for storing the event might be that other events in it's
34      * correlation group are expected to be received. 2. Pass back an array of one or
35      * more events to be processed by the component. Often 1 event is returned, i.e.
36      * in the case of event aggregation. The router may return an array of events if
37      * a set of events have been resequenced or multiple events have been generated
38      * from a single event.
39      *
40      * @param event the event received by the inbound endpoint before it is passed to
41      * the component
42      * @return null to indicate the event has been stored/destroyed or an array of
43      * events to be processed by the component
44      * @throws MessagingException if an error occurs during processing of the event
45      */

46     UMOEvent[] process(UMOEvent event) throws MessagingException;
47
48     /**
49      * Determines if the event should be processed by this router. Routers can be
50      * selectively invoked by configuing a filter on them. Usually the filter is
51      * applied to the event when calling this method. All core Mule inbound routers
52      * extend the SelectiveConsumer router.
53      *
54      * @param event the current event to evaluate
55      * @return true if the event should be processed by this router
56      * @throws MessagingException if the event cannot be evaluated
57      * @see org.mule.routing.inbound.SelectiveConsumer
58      */

59     boolean isMatch(UMOEvent event) throws MessagingException;
60 }
61
Popular Tags