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 org.apache.myfaces.shared.resource;
20  
21  /**
22   * ResourceLoaders that are able to handle contract aware resources
23   * must extends from this class.
24   */
25  public abstract class ContractResourceLoader extends ResourceLoader
26  {
27      
28      public static final String VERSION_INVALID = "INVALID";
29      
30      public ContractResourceLoader(String prefix)
31      {
32          super(prefix);
33      }
34      
35      public String getResourceVersion(String path)
36      {
37          return null;
38      }
39  
40      public String getLibraryVersion(String path)
41      {
42          return null;
43      }
44  
45      public abstract String getResourceVersion(String path, String contractName);
46  
47      /**
48       * Return the max available version found (if exists) or
49       * return null if no version available. 
50       */
51      public abstract String getLibraryVersion(String path, String contractName);
52  
53      public ResourceMeta createResourceMeta(String prefix, String libraryName, 
54              String libraryVersion, String resourceName, String resourceVersion)
55      {
56          return null;
57      }
58      
59      public abstract ResourceMeta createResourceMeta(String prefix, String libraryName, 
60              String libraryVersion, String resourceName, String resourceVersion, String contractName);
61      
62      public boolean libraryExists(String libraryName)
63      {
64          return false;
65      }
66      
67      public abstract boolean libraryExists(String libraryName, String contractName);
68      
69  }