1 /* 2 * Copyright 1999-2004 The Apache Software Foundation. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.apache.cocoon; 17 18 import java.util.Map; 19 20 import org.apache.avalon.framework.component.Component; 21 import org.apache.cocoon.components.pipeline.ProcessingPipeline; 22 import org.apache.cocoon.environment.Environment; 23 24 /** 25 * 26 * @author <a HREF="mailto:pier@apache.org">Pierpaolo Fumagalli</a> 27 * (Apache Software Foundation) 28 * @author <a HREF="mailto:cziegeler@apache.org">Carsten Ziegeler</a> 29 * @version CVS $Id: Processor.java 30932 2004-07-29 17:35:38Z vgritsenko $ 30 */ 31 public interface Processor extends Component { 32 33 String ROLE = Processor.class.getName(); 34 35 /** 36 * Process the given <code>Environment</code> producing the output. 37 * @return If the processing is successfull <code>true</code> is returned. 38 * If no match is found in the sitemap <code>false</code> 39 * is returned. 40 * @throws ResourceNotFoundException If a sitemap component tries 41 * to access a resource which can not 42 * be found, e.g. the generator 43 * ConnectionResetException If the connection was reset 44 */ 45 boolean process(Environment environment) 46 throws Exception; 47 48 /** 49 * Process the given <code>Environment</code> to assemble 50 * a <code>ProcessingPipeline</code>. 51 * @since 2.1 52 */ 53 ProcessingPipeline buildPipeline(Environment environment) 54 throws Exception; 55 56 /** 57 * Get the sitemap component configurations 58 * @since 2.1 59 */ 60 Map getComponentConfigurations(); 61 62 /** 63 * Get the root processor parent of this processor. 64 * 65 * @since 2.1.1 66 */ 67 Processor getRootProcessor(); 68 } 69