Class Classloader
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.Classloader
- All Implemented Interfaces:
Cloneable
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"/>
</fileset>
</path>
<classloader pathRef="ant.deps" />
-
Field Summary
FieldsFields inherited from class ProjectComponent
description, location, project -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreate a classpath.voidexecute()do the classloader manipulation.voidsetClasspath(Path classpath) Set the classpath to be used when searching for component being definedvoidsetClasspathRef(Reference pathRef) Specify which path will be used.voidName of the loader.voidsetParentFirst(boolean b) Set reverse attribute.voidsetParentName(String name) Set the name of the parent.voidsetReset(boolean b) Reset the classloader, if it already exists.voidsetReverse(boolean b) Deprecated.use setParentFirst with a negated argument insteadMethods inherited from class Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeModifier and TypeMethodDescriptionfinal voidbindToOwner(Task owner) Bind a task to another; use this when configuring a newly created task to do work on behalf of another.Returns the container target of this task.Returns the wrapper used for runtime configuration.Returns the name to use in logging messages.Return the type of task.protected RuntimeConfigurableReturn the runtime configurable structure for this task.protected voidhandleErrorFlush(String output) Handles an error line by logging it with the WARN priority.protected voidhandleErrorOutput(String output) Handles an error output by logging it with the WARN priority.protected voidhandleFlush(String output) Handles output by logging it with the INFO priority.protected inthandleInput(byte[] buffer, int offset, int length) Handle an input request by this task.protected voidhandleOutput(String output) Handles output by logging it with the INFO priority.voidinit()Called by the project to let the task initialize properly.protected final booleanHas this task been marked invalid?voidLogs a message with the default (INFO) priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidLogs a message with the given priority.voidConfigures this task - if it hasn't been done already.final voidperform()Performs this task if it's still valid, or gets a replacement version and performs that otherwise.voidForce the task to be reconfigured from its RuntimeConfigurable.voidsetOwningTarget(Target target) Sets the target container of this task.voidSets the wrapper to be used for runtime configuration.voidsetTaskName(String name) Sets the name to use in logging messages.voidsetTaskType(String type) Sets the name with which the task has been invoked.Methods inherited from class ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProjectModifier and TypeMethodDescriptionclone()Returns the description of the current action.Returns the file/location where this task was defined.Returns the project to which this component belongs.voidsetDescription(String desc) Sets a description of the current action.voidsetLocation(Location location) Sets the file/location where this task was defined.voidsetProject(Project project) Sets the project object of this component.
-
Field Details
-
SYSTEM_LOADER_REF
- See Also:
-
-
Constructor Details
-
Classloader
public Classloader()
-
-
Method Details
-
setName
Name of the loader. If none, the default loader will be modified- Parameters:
name- the name of this loader
-
setReset
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.- Parameters:
b- true if the loader is to be reset.
-
setReverse
Deprecated.use setParentFirst with a negated argument insteadSet reverse attribute.- Parameters:
b- if true reverse the normal classloader lookup.
-
setParentFirst
public void setParentFirst(boolean b) Set reverse attribute.- Parameters:
b- if true reverse the normal classloader lookup.
-
setParentName
Set the name of the parent.- Parameters:
name- the parent name.
-
setClasspathRef
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.- Parameters:
pathRef- a reference to a path.- Throws:
BuildException- if there is a problem.
-
setClasspath
Set the classpath to be used when searching for component being defined- Parameters:
classpath- an Ant Path object containing the classpath.
-
createClasspath
-
execute
-