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.processor; 8 9 import org.mule.api.MuleEvent; 10 import org.mule.api.MuleException; 11 12 /** 13 * Processes {@link MuleEvent}'s. Implementations that do not mutate the 14 * {@link MuleEvent} or pass it on to another MessageProcessor should return the 15 * MuleEvent they receive. 16 * 17 * @since 3.0 18 */ 19 public interface MessageProcessor 20 { 21 /** 22 * Invokes the MessageProcessor. 23 * 24 * @param event MuleEvent to be processed 25 * @return optional response MuleEvent 26 * @throws MuleException 27 */ 28 MuleEvent process(MuleEvent event) throws MuleException; 29 }