1 /* 2 * $Id: UMOResponseRouterCollection.java 7976 2007-08-21 14:26:13Z 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.umo.UMOEvent; 14 import org.mule.umo.UMOException; 15 import org.mule.umo.UMOMessage; 16 import org.mule.umo.endpoint.UMOEndpoint; 17 18 import java.util.List; 19 20 /** 21 * <code>UMOResponseRouterCollection</code> is a router that can be used to control 22 * how the response in a request/response message flow is created. Its main use case 23 * is to aggregate a set of asynchonous events into a single response. 24 */ 25 26 public interface UMOResponseRouterCollection extends UMORouterCollection 27 { 28 void route(UMOEvent event) throws RoutingException; 29 30 UMOMessage getResponse(UMOMessage message) throws UMOException; 31 32 UMOResponseRouter removeRouter(UMOResponseRouter router); 33 34 void addEndpoint(UMOEndpoint endpoint); 35 36 boolean removeEndpoint(UMOEndpoint endpoint); 37 38 List getEndpoints(); 39 40 /** 41 * @param name the Endpoint identifier 42 * @return the Endpoint or null if the endpointUri is not registered 43 * @see UMOResponseRouterCollection 44 */ 45 UMOEndpoint getEndpoint(String name); 46 47 void setEndpoints(List endpoints); 48 49 int getTimeout(); 50 51 void setTimeout(int timeout); 52 }