2009/05/20 - Apache Shale has been retired.

For more information, please explore the Attic.

View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to you under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  
18  package org.apache.shale.remoting;
19  
20  import java.io.IOException;
21  import javax.faces.context.FacesContext;
22  
23  /***
24   * <p>Interface describing business logic responsible for processing an incoming
25   * remoting request, and creating the corresponding response.</p>
26   */
27  public interface Processor {
28  
29  
30      /***
31       * <p>Process the current request, producing the corresponding response
32       * by whatever means is appropriate.  The state of the current request can
33       * be derived by calling <code>FacesContext.getCurrentInstance()</code>.
34       * Typically, an implementation of this method will call the
35       * <code>responseComplete()</code> method on this <code>FacesContext</code>
36       * instance, to bypass the remainder of the standard JavaServer Faces
37       * request processing lifecycle.</p>
38       *
39       * @param context <code>FacesContext</code> for the current request
40       * @param resourceId Resource identifier used to select the appropriate response
41       *  (this will generally be a context relative path starting with "/")
42       *
43       * @exception IOException if an input/output error occurs
44       * @exception NullPointerException if <code>resourceId</code> is <code>null</code>
45       */
46      public void process(FacesContext context, String resourceId) throws IOException;
47  
48  
49  }