Package org.apache.tools.ant.taskdefs

# Class DefBase

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.AntlibDefinition
org.apache.tools.ant.taskdefs.DefBase

All Implemented Interfaces:
  `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

Constructors
Constructor
Description
`DefBase()`

## Method Summary

Modifier and Type
Method
Description
`Path`
`createClasspath()`
Create the classpath to be used when searching for component being defined.
`protected ClassLoader`
`createLoader()`
create a classloader for this definition
`Path`
`getClasspath()`
`String`
`getClasspathId()`
Returns the class path id of the class path delegate.
`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.

### 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 Details

### DefBase

public DefBase()

## Method Details

### 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

@Deprecated 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 String getLoaderId()
Returns the loader id of the class path Delegate.

Returns:
  the loader id

### getClasspathId

public 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 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()`