View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package javax.faces.application;
20  
21  import java.io.IOException;
22  
23  import javax.faces.context.FacesContext;
24  
25  import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFWebConfigParam;
26  
27  /**
28   * @author Simon Lessard (latest modification by $Author: bommel $)
29   * @version $Revision: 1187700 $ $Date: 2011-10-22 07:19:37 -0500 (Sat, 22 Oct 2011) $
30   * 
31   * @since 2.0
32   */
33  public abstract class ResourceHandler
34  {
35      public static final String LOCALE_PREFIX = "javax.faces.resource.localePrefix";
36      public static final String RESOURCE_EXCLUDES_DEFAULT_VALUE = ".class .jsp .jspx .properties .xhtml";
37      
38      /**
39       * Space separated file extensions that will not be served by the default ResourceHandler implementation.
40       */
41      @JSFWebConfigParam(defaultValue=".class .jsp .jspx .properties .xhtml",since="2.0", group="resources")
42      public static final String RESOURCE_EXCLUDES_PARAM_NAME = "javax.faces.RESOURCE_EXCLUDES";
43      public static final String RESOURCE_IDENTIFIER = "/javax.faces.resource";
44      
45      public abstract Resource createResource(String resourceName);
46      
47      public abstract Resource createResource(String resourceName, String libraryName);
48      
49      public abstract Resource createResource(String resourceName, String libraryName, String contentType);
50      
51      public abstract String getRendererTypeForResourceName(String resourceName);
52      
53      public abstract void handleResourceRequest(FacesContext context) throws IOException;
54      
55      public abstract boolean isResourceRequest(FacesContext context);
56      
57      public abstract  boolean libraryExists(String libraryName);
58  }