View Javadoc

1   //  Copyright 2005 The Apache Software Foundation
2   //
3   // Licensed under the Apache License, Version 2.0 (the "License");
4   // you may not use this file except in compliance with the License.
5   // You may obtain a copy of the License at
6   //
7   //     http://www.apache.org/licenses/LICENSE-2.0
8   //
9   // Unless required by applicable law or agreed to in writing, software
10  // distributed under the License is distributed on an "AS IS" BASIS,
11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  // See the License for the specific language governing permissions and
13  // limitations under the License.
14  package org.jph.channels.process;
15  
16  /***
17   * The Processor processes a message and is primarily used by the
18   * ProcessingOutputChannel.
19   *
20   * @author Peter Veentjer.
21   */
22  public interface Processor<Min,Mout> {
23  
24  	/***
25  	 * Processes the message.
26  	 *
27  	 * @param msg the message to process.
28  	 * @return the resulting msg. This can be null or the orginal message.
29  	 * @throws NullPointerException if msg is null.
30  	 */
31  	Mout process(Min msg);
32  }