org.apache.tools.ant.util
Class ClasspathUtils.Delegate
java.lang.Object
org.apache.tools.ant.util.ClasspathUtils.Delegate
- ClasspathUtils
public static class ClasspathUtils.Delegate
extends java.lang.Object
Delegate that helps out any specific ProjectComponent that needs
dynamic classloading.
Ant ProjectComponents that need a to be able to dynamically load
Classes and instantiate them often expose the following ant syntax
sugar:
- nested <classpath>
- attribute @classpathref
- attribute @classname
This class functions as a delegate handling the configuration
issues for this recuring pattern. Its usage pattern, as the name
suggests is delegation, not inheritance.
createClasspath
public Path createClasspath()
Delegate method handling the <classpath> tag.
This nested path-like structure can set a path to add to the
classpath.
getClassLoadId
public String getClassLoadId()
Computes the loaderId based on the configuration of the component.
getClassLoader
public ClassLoader getClassLoader()
Finds or creates the classloader for this object.
getClasspath
public Path getClasspath()
The classpath.
isReverseLoader
public boolean isReverseLoader()
Get the reverseLoader setting.
- true if looking up in reverse order.
newInstance
public Object newInstance()
Helper method obtaining a fresh instance of the class specified
in the @classname and using the specified classpath.
- the fresh instantiated object.
setClassname
public void setClassname(String fcqn)
Delegate method handling the @classname attribute.
This attribute sets the full qualified class name of the class
to load and instantiate.
fcqn
- the name of the class to load.
setClasspath
public void setClasspath(Path classpath)
This method is a Delegate method handling the @classpath attribute.
This attribute can set a path to add to the classpath.
classpath
- the path to use for the classpath.
setClasspathref
public void setClasspathref(Reference r)
Delegate method handling the @classpathref attribute.
This attribute can add a referenced path-like structure to the
classpath.
r
- the reference to the classpath.
setLoaderRef
public void setLoaderRef(Reference r)
Sets the loaderRef.
r
- the reference to the loader.
setReverseLoader
public void setReverseLoader(boolean reverseLoader)
Delegate method handling the @reverseLoader attribute.
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.
Copyright B) 2000-2006 Apache Software Foundation. All Rights Reserved.