org.apache.commons.discovery.tools

Class ResourceUtils


public class ResourceUtils
extends java.lang.Object

Mechanisms to locate and load a class. The load methods locate a class only. The find methods locate a class and verify that the class implements an given interface or extends a given class.

Authors:
Richard A. Sitze
Craig R. McClanahan
Costin Manolache

Method Summary

static java.lang.String
getPackageName(java.lang.Class clazz)
Get package name.
static Resource
getResource(java.lang.Class spi, java.lang.String resourceName, ClassLoaders loaders)
Load the resource resourceName.
static java.util.Properties
loadProperties(java.lang.Class spi, java.lang.String propertiesFileName, ClassLoaders classLoaders)
Load named property file, optionally qualifed by spi's package name as per Class.getResource.

Method Details

getPackageName

public static java.lang.String getPackageName(java.lang.Class clazz)
Get package name. Not all class loaders 'keep' package information, in which case Class.getPackage() returns null. This means that calling Class.getPackage().getName() is unreliable at best.


getResource

public static Resource getResource(java.lang.Class spi,
                                   java.lang.String resourceName,
                                   ClassLoaders loaders)
            throws DiscoveryException
Load the resource resourceName. Try each classloader in succession, until first succeeds, or all fail. If all fail and resouceName is not absolute (doesn't start with '/' character), then retry with packageName/resourceName after changing all '.' to '/'.

Parameters:
resourceName - The name of the resource to load.


loadProperties