org.apache.commons.discovery

Class ResourceClass


public class ResourceClass
extends Resource

'Resource' located by discovery. Naming of methods becomes a real pain ('getClass()') so I've patterned this after ClassLoader... I think it works well as it will give users a point-of-reference.
Author:
Richard A. Sitze

Field Summary

protected Class
resourceClass

Fields inherited from class org.apache.commons.discovery.Resource

loader, name, resource

Constructor Summary

ResourceClass(Class resourceClass, URL resource)
ResourceClass(String resourceName, URL resource, ClassLoader loader)

Method Summary

Class
loadClass()
Get the value of resourceClass.
static void
setLog(Log _log)
String
toString()

Methods inherited from class org.apache.commons.discovery.Resource

getClassLoader, getName, getResource, getResourceAsStream, toArray, toString

Field Details

resourceClass

protected Class resourceClass

Constructor Details

ResourceClass

public ResourceClass(Class resourceClass,
                     URL resource)

ResourceClass

public ResourceClass(String resourceName,
                     URL resource,
                     ClassLoader loader)

Method Details

loadClass

public Class loadClass()
Get the value of resourceClass. Loading the class does NOT guarentee that the class can be instantiated. Go figure. The class can be instantiated when the class is linked/resolved, and all dependencies are resolved. Various JDKs do this at different times, so beware: java.lang.NoClassDefFoundError when calling Class.getDeclaredMethod() (JDK14), java.lang.reflect.InvocationTargetException (wrapping java.lang.NoClassDefFoundError) when calling java.lang.newInstance (JDK13), and who knows what else..
Returns:
value of resourceClass.

setLog

public static void setLog(Log _log)

toString

public String toString()
Overrides:
toString in interface Resource

Copyright (c) 2002 - Apache Software Foundation