Coverage Report - org.mule.api.routing.InboundRouter
 
Classes in this File Line Coverage Branch Coverage Complexity
InboundRouter
N/A
N/A
1
 
 1  
 /*
 2  
  * $Id: InboundRouter.java 10529 2008-01-25 05:58:36Z dfeist $
 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 CPAL v1.0
 7  
  * license, a copy of which has been included with this distribution in the
 8  
  * LICENSE.txt file.
 9  
  */
 10  
 
 11  
 package org.mule.api.routing;
 12  
 
 13  
 import org.mule.api.MessagingException;
 14  
 import org.mule.api.MuleEvent;
 15  
 
 16  
 /**
 17  
  * <code>InboundRouter</code> defines an interface for an inbound Message
 18  
  * router. An inbound router is used to control how events are received by a
 19  
  * service. One or more of these routers can be associated with a
 20  
  * InboundRouterCollection implementation.
 21  
  * 
 22  
  * @see InboundRouterCollection
 23  
  */
 24  
 
 25  
 public interface InboundRouter extends Router
 26  
 {
 27  
     /**
 28  
      * A received MuleEvent is passed to this method for processing. The router can
 29  
      * control processing by either 1. passing back a null to indicate that the
 30  
      * router has either discarded the event of the event has been stored for further
 31  
      * processing. A reaosn for storing the event might be that other events in it's
 32  
      * correlation group are expected to be received. 2. Pass back an array of one or
 33  
      * more events to be processed by the service. Often 1 event is returned, i.e.
 34  
      * in the case of event aggregation. The router may return an array of events if
 35  
      * a set of events have been resequenced or multiple events have been generated
 36  
      * from a single event.
 37  
      * 
 38  
      * @param event the event received by the inbound endpoint before it is passed to
 39  
      *            the service
 40  
      * @return null to indicate the event has been stored/destroyed or an array of
 41  
      *         events to be processed by the service
 42  
      * @throws MessagingException if an error occurs during processing of the event
 43  
      */
 44  
     MuleEvent[] process(MuleEvent event) throws MessagingException;
 45  
 
 46  
     /**
 47  
      * Determines if the event should be processed by this router. Routers can be
 48  
      * selectively invoked by configuing a filter on them. Usually the filter is
 49  
      * applied to the event when calling this method. All core Mule inbound routers
 50  
      * extend the SelectiveConsumer router.
 51  
      * 
 52  
      * @param event the current event to evaluate
 53  
      * @return true if the event should be processed by this router
 54  
      * @throws MessagingException if the event cannot be evaluated
 55  
      * @see org.mule.routing.inbound.SelectiveConsumer
 56  
      */
 57  
     boolean isMatch(MuleEvent event) throws MessagingException;
 58  
 }