public static class ClasspathUtils.Delegate
extends java.lang.Object
Ant ProjectComponents that need a to be able to dynamically load Classes and instantiate them often expose the following ant syntax sugar:
This class functions as a delegate handling the configuration issues for this recurring pattern. Its usage pattern, as the name suggests, is delegation rather than inheritance.
Modifier and Type | Method and Description |
---|---|
Path |
createClasspath()
Delegate method handling the <classpath> tag.
|
java.lang.ClassLoader |
getClassLoader()
Finds or creates the classloader for this object.
|
java.lang.String |
getClassLoadId()
Computes the loaderId based on the configuration of the component.
|
Path |
getClasspath()
The classpath.
|
boolean |
isReverseLoader()
Get the reverseLoader setting.
|
java.lang.Object |
newInstance()
Helper method obtaining a fresh instance of the class specified
in the @classname and using the specified classpath.
|
void |
setClassname(java.lang.String fcqn)
Delegate method handling the @classname attribute.
|
void |
setClasspath(Path classpath)
This method is a Delegate method handling the @classpath attribute.
|
void |
setClasspathref(Reference r)
Delegate method handling the @classpathref attribute.
|
void |
setLoaderRef(Reference r)
Sets the loaderRef.
|
void |
setReverseLoader(boolean reverseLoader)
Delegate method handling the @reverseLoader attribute.
|
public void setClasspath(Path classpath)
This attribute can set a path to add to the classpath.
classpath
- the path to use for the classpath.public Path createClasspath()
This nested path-like structure can set a path to add to the classpath.
public void setClassname(java.lang.String fcqn)
This attribute sets the full qualified class name of the class to load and instantiate.
fcqn
- the name of the class to load.public void setClasspathref(Reference r)
This attribute can add a referenced path-like structure to the classpath.
r
- the reference to the classpath.public void setReverseLoader(boolean reverseLoader)
This attribute can set a boolean indicating that the used classloader should NOT follow the classical parent-first scheme.
By default this is supposed to be false.
Caution: this behaviour is contradictory to the normal way classloaders work. Do not let your ProjectComponent use it if you are not really sure.
reverseLoader
- if true reverse the order of looking up a class.public void setLoaderRef(Reference r)
r
- the reference to the loader.public java.lang.ClassLoader getClassLoader()
public java.lang.String getClassLoadId()
public java.lang.Object newInstance()
public Path getClasspath()
public boolean isReverseLoader()