View Javadoc

1   /**
2    *
3    * Copyright 2005 The Apache Software Foundation
4    *
5    *  Licensed under the Apache License, Version 2.0 (the "License");
6    *  you may not use this file except in compliance with the License.
7    *  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  package org.apache.geronimo.kernel.classloader;
18  
19  import java.net.URL;
20  import java.util.Enumeration;
21  
22  /**
23   * Abstraction of resource searching policy. Given resource name, the resource
24   * finder performs implementation-specific lookup, and, if it is able to locate
25   * the resource, returns the {@link AbstractResourceHandle handle(s)} or URL(s) of it.
26   *
27   * @version $Rev: 410741 $ $Date: 2006-05-31 21:35:48 -0700 (Wed, 31 May 2006) $
28   */
29  public interface ResourceFinder {
30      /**
31       * Find the resource by name and return URL of it if found.
32       *
33       * @param name the resource name
34       * @return resource URL or null if resource was not found
35       */
36      public URL findResource(String name);
37  
38      /**
39       * Find all resources with given name and return enumeration of their URLs.
40       *
41       * @param name the resource name
42       * @return enumeration of resource URLs (possibly empty).
43       */
44      public Enumeration findResources(String name);
45  
46      /**
47       * Get the resource by name and, if found, open connection to it and return
48       * the {@link AbstractResourceHandle handle} of it.
49       *
50       * @param name the resource name
51       * @return resource handle or null if resource was not found
52       */
53      public ResourceHandle getResource(String name);
54  
55  }