org.apache.tools.ant.taskdefs
Class DefBase

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.tools.ant.taskdefs.AntlibDefinition
              extended by org.apache.tools.ant.taskdefs.DefBase
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
Definer, Input.Handler, ScriptDef

public abstract class DefBase
extends AntlibDefinition

Base class for Definitions handling uri and class loading. (This was part of Definer)

Since:
Ant 1.6

Field Summary
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
DefBase()
           
 
Method Summary
 Path createClasspath()
          Create the classpath to be used when searching for component being defined.
protected  java.lang.ClassLoader createLoader()
          create a classloader for this definition
 Path getClasspath()
           
 java.lang.String getClasspathId()
          Returns the class path id of the class path delegate.
 java.lang.String getLoaderId()
          Returns the loader id of the class path Delegate.
protected  boolean hasCpDelegate()
          Check if classpath attributes have been set.
 void init()
          Called by the project to let the task initialize properly.
 boolean isReverseLoader()
           
 void setClasspath(Path classpath)
          Set the classpath to be used when searching for component being defined.
 void setClasspathRef(Reference r)
          Set a reference to a classpath to use when loading the files.
 void setLoaderRef(Reference r)
          Use the reference to locate the loader.
 void setReverseLoader(boolean reverseLoader)
          Deprecated. since 1.6.x. stop using this attribute
 
Methods inherited from class org.apache.tools.ant.taskdefs.AntlibDefinition
getAntlibClassLoader, getURI, setAntlibClassLoader, setURI
 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, execute, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefBase

public DefBase()
Method Detail

hasCpDelegate

protected boolean hasCpDelegate()
Check if classpath attributes have been set. (to be called before getCpDelegate() is used.

Returns:
true if cpDelegate has been created.

setReverseLoader

public void setReverseLoader(boolean reverseLoader)
Deprecated. since 1.6.x. stop using this attribute

Parameters:
reverseLoader - if true a delegated loader will take precedence over the parent

getClasspath

public Path getClasspath()
Returns:
the classpath for this definition

isReverseLoader

public boolean isReverseLoader()
Returns:
the reverse loader attribute of the classpath delegate.

getLoaderId

public java.lang.String getLoaderId()
Returns the loader id of the class path Delegate.

Returns:
the loader id

getClasspathId

public java.lang.String getClasspathId()
Returns the class path id of the class path delegate.

Returns:
the class path id

setClasspath

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

Parameters:
classpath - an Ant Path object containing the classpath.

createClasspath

public Path createClasspath()
Create the classpath to be used when searching for component being defined.

Returns:
the classpath of the this definition

setClasspathRef

public void setClasspathRef(Reference r)
Set a reference to a classpath to use when loading the files. To actually share the same loader, set loaderref as well

Parameters:
r - the reference to the classpath

setLoaderRef

public void setLoaderRef(Reference r)
Use the reference to locate the loader. If the loader is not found, the specified classpath will be used and registered with the specified name. This allows multiple taskdef/typedef to use the same class loader, so they can be used together, eliminating the need to put them in the CLASSPATH.

Parameters:
r - the reference to locate the loader.
Since:
Ant 1.5

createLoader

protected java.lang.ClassLoader createLoader()
create a classloader for this definition

Returns:
the classloader from the cpDelegate

init

public void init()
          throws BuildException
Description copied from class: Task
Called by the project to let the task initialize properly. The default implementation is a no-op.

Overrides:
init in class Task
Throws:
BuildException - on error.
Since:
Ant 1.6
See Also:
Task.init()