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