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 }