View Javadoc

1   /*
2    * $Id: UMORouterCollection.java 7963 2007-08-21 08:53:15Z dirk.olmes $
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.umo.routing;
12  
13  import org.mule.management.stats.RouterStatistics;
14  
15  import java.util.List;
16  
17  /**
18   * <code>UMORouterCollection</code> defines the interface for a MessageRouter that
19   * manages more than one router. A {@link UMORouterCatchAllStrategy} can be set on
20   * this router to route unwanted or unfiltered events. If a catch strategy is not
21   * set, the router just returns null.
22   */
23  
24  public interface UMORouterCollection
25  {
26      void setRouters(List routers);
27  
28      List getRouters();
29  
30      void addRouter(UMORouter router);
31  
32      UMORouter removeRouter(UMORouter router);
33  
34      UMORouterCatchAllStrategy getCatchAllStrategy();
35  
36      void setCatchAllStrategy(UMORouterCatchAllStrategy catchAllStrategy);
37  
38      boolean isMatchAll();
39  
40      RouterStatistics getStatistics();
41  
42      void setStatistics(RouterStatistics stat);
43  
44      void setMatchAll(boolean matchAll);
45  }