/* * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.runtime.core.api.processor; import org.mule.runtime.api.meta.AnnotatedObject; import org.mule.runtime.core.api.MuleContext; import org.mule.runtime.core.api.construct.FlowConstruct; import org.mule.runtime.core.api.construct.FlowConstructAware; import org.mule.runtime.core.api.context.MuleContextAware; import org.mule.runtime.core.api.exception.MessagingExceptionHandlerAware; import org.mule.runtime.api.lifecycle.Lifecycle; import java.util.List; /** * A chain of {@link Processor}'s. All implementioans should propagate {@link MuleContext}, {@link FlowConstruct} and lifecycle to * {@link Processor}'s in the chains. Message processor chains are also {@link MessageProcessorContainer}'s and responsible for * adding the correct {@link MessageProcessorPathElement}'s to their parent {@link MessageProcessorPathElement}. */ public interface MessageProcessorChain extends Processor, Lifecycle, FlowConstructAware, MuleContextAware, MessagingExceptionHandlerAware, AnnotatedObject { /** * Obtain the list of {@link Processor}'s that this chains was created from. Note that this is the linear view of all processors * that the chains was constructed from and does not represent in any way the structure of the chain once * {@link InterceptingMessageProcessor}'s have been taken into account. * * @return list of processors. */ List<Processor> getMessageProcessors(); }