Class Classloader

  extended by
      extended by
          extended by
All Implemented Interfaces:

public class Classloader
extends Task

EXPERIMENTAL Create or modifies ClassLoader. The required pathRef parameter will be used to add classpath elements. The classpath is a regular path. Currently only file components are supported (future extensions may allow URLs). You can modify the core loader by not specifying any name or using "ant.coreLoader". (the core loader is used to load system ant tasks and for taskdefs that don't specify an explicit path). Taskdef and typedef can use the loader you create if the name follows the "ant.loader.NAME" pattern. NAME will be used as a pathref when calling taskdef. This tasks will not modify the core loader if "build.sysclasspath=only" The typical use is:

  <path id="ant.deps" >
     <fileset dir="myDir" >
        <include name="junit.jar, bsf.jar, js.jar, etc"/>

  <classloader pathRef="ant.deps" />


Field Summary
static java.lang.String SYSTEM_LOADER_REF
Fields inherited from class
target, taskName, taskType, wrapper
Fields inherited from class
description, location, project
Constructor Summary
          Default constructor
Method Summary
 Path createClasspath()
          Create a classpath.
 void execute()
          do the classloader manipulation.
 void setClasspath(Path classpath)
          Set the classpath to be used when searching for component being defined
 void setClasspathRef(Reference pathRef)
          Specify which path will be used.
 void setName(java.lang.String name)
          Name of the loader.
 void setParentFirst(boolean b)
          Set reverse attribute.
 void setParentName(java.lang.String name)
          Set the name of the parent.
 void setReset(boolean b)
          Reset the classloader, if it already exists.
 void setReverse(boolean b)
          Set reverse attribute.
Methods inherited from class
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
Methods inherited from class
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


public static final java.lang.String SYSTEM_LOADER_REF
See Also:
MagicNames.SYSTEM_LOADER_REF, Constant Field Values
Constructor Detail


public Classloader()
Default constructor

Method Detail


public void setName(java.lang.String name)
Name of the loader. If none, the default loader will be modified

name - the name of this loader


public void setReset(boolean b)
Reset the classloader, if it already exists. A new loader will be created and all the references to the old one will be removed. (it is not possible to remove paths from a loader). The new path will be used.

b - true if the loader is to be reset.


public void setReverse(boolean b)
Set reverse attribute.

b - if true reverse the normal classloader lookup.


public void setParentFirst(boolean b)
Set reverse attribute.

b - if true reverse the normal classloader lookup.


public void setParentName(java.lang.String name)
Set the name of the parent.

name - the parent name.


public void setClasspathRef(Reference pathRef)
                     throws BuildException
Specify which path will be used. If the loader already exists and is an AntClassLoader (or any other loader we can extend), the path will be added to the loader.

pathRef - a reference to a path.
BuildException - if there is a problem.


public void setClasspath(Path classpath)
Set the classpath to be used when searching for component being defined

classpath - an Ant Path object containing the classpath.


public Path createClasspath()
Create a classpath.

a path for configuration.


public void execute()
do the classloader manipulation.

execute in class Task