1 /* 2 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com 3 * The software in this package is published under the terms of the CPAL v1.0 4 * license, a copy of which has been included with this distribution in the 5 * LICENSE.txt file. 6 */ 7 package org.mule.api.routing; 8 9 import org.mule.api.MuleEvent; 10 import org.mule.api.processor.MessageProcessor; 11 12 /** 13 * <code>RouterCatchAllStrategy</code> is a strategy interface that allows developers to hook in custom code when 14 * an event is being routed on the inbound or outbound but does not match any of the criteria defined for the routing. 15 * 16 * Think of catch all strategies as a safety net for your events to ensure that all events will get processed. If you 17 * do not use conditional routing logic, you will not need a catch all strategy. 18 * 19 */ 20 public interface OutboundRouterCatchAllStrategy extends MessageProcessor 21 { 22 /** 23 * This method will be invoked when an event is received or being sent where the criteria of the router(s) do not 24 * match the current event. 25 * @param event the current event being processed 26 * 27 * @return A result message from this processing. Depending on the messaging style being used this might become the 28 * response message to a client or remote service call. 29 * @throws RoutingException if there is a failure while processing this message. 30 */ 31 MuleEvent process(MuleEvent event) throws RoutingException; 32 }