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.
- Ant 1.6
createClasspath
public Path createClasspath()
Delegate method handling the <classpath> tag.
This nested path-like structure can set a path to add to the
classpath.
- the created path.
getClassLoadId
public String getClassLoadId()
Computes the loaderId based on the configuration of the component.
- a loader identifier.
getClassLoader
public ClassLoader getClassLoader()
Finds or creates the classloader for this object.
- The class loader.
getClasspath
public Path getClasspath()
The classpath.
- 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-2005 Apache Software Foundation. All Rights Reserved.