DefBase (Apache Ant API)
Date: 2018-07-10

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

    Constructors
    Constructor and Description
    `DefBase()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `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

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