## org.apache.tools.ant.types.optional
Class AbstractScriptComponent

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.types.optional.AbstractScriptComponent

All Implemented Interfaces:
  java.lang.Cloneable

Direct Known Subclasses:
  ScriptCondition, ScriptMapper

    public abstract class AbstractScriptComponent

extends ProjectComponent

This is a `ProjectComponent` that has script support built in Use it as a foundation for scriptable things.

Field Summary

Fields inherited from class org.apache.tools.ant.ProjectComponent
`description, location, project`

Constructor Summary
`AbstractScriptComponent()`

Method Summary
`void` `addText(java.lang.String text)` The script text.
`Path` `createClasspath()` Classpath to be used when searching for classes and resources.
`protected java.lang.Object` `evaluateScript(java.lang.String execName)` Evaluate a script.
`protected void` `executeScript(java.lang.String execName)` Run a script
`ScriptRunnerBase` `getRunner()` Get our script runner
`protected void` `initScriptRunner()` Initialize the script runner.
`void` `setClasspath(Path classpath)` Set the classpath to be used when searching for classes and resources.
`void` `setClasspathRef(Reference r)` Set the classpath by reference.
`void` `setLanguage(java.lang.String language)` Defines the language (required).
`void` `setManager(java.lang.String manager)` Defines the manager.
`void` `setProject(Project project)` Set the project.
`void` `setSrc(java.io.File file)` Load the script from an external file ; optional.

Methods inherited from class org.apache.tools.ant.ProjectComponent
`clone, getDescription, getLocation, getProject, log, log, setDescription, setLocation`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AbstractScriptComponent

    public AbstractScriptComponent()

Method Detail

### setProject

    public void setProject(Project project)

  Set the project.

  Overrides:
    `setProject` in class `ProjectComponent`
  Parameters:
    `project` - the owner of this component.

### getRunner

    public ScriptRunnerBase getRunner()

  Get our script runner

  Returns:
    the runner

### setSrc

    public void setSrc(java.io.File file)

  Load the script from an external file ; optional.

  Parameters:
    `file` - the file containing the script source.

### addText

    public void addText(java.lang.String text)

  The script text.

  Parameters:
    `text` - a component of the script text to be added.

### setManager

    public void setManager(java.lang.String manager)

  Defines the manager.

  Parameters:
    `manager` - the scripting manager.

### setLanguage

    public void setLanguage(java.lang.String language)

  Defines the language (required).

  Parameters:
    `language` - the scripting language name for the script.

### initScriptRunner

    protected void initScriptRunner()

  Initialize the script runner. Calls this before running the system

### setClasspath

    public void setClasspath(Path classpath)

  Set the classpath to be used when searching for classes and resources.

  Parameters:
    `classpath` - an Ant Path object containing the search path.

### createClasspath

    public Path createClasspath()

  Classpath to be used when searching for classes and resources.

  Returns:
    an empty Path instance to be configured by Ant.

### setClasspathRef

    public void setClasspathRef(Reference r)

  Set the classpath by reference.

  Parameters:
    `r` - a Reference to a Path instance to be used as the classpath value.

### executeScript

    protected void executeScript(java.lang.String execName)

  Run a script

  Parameters:
    `execName` - name of the script

### evaluateScript

    protected java.lang.Object evaluateScript(java.lang.String execName)

  Evaluate a script.

  Parameters:
    `execName` - name of the script.
  Returns:
    the result of the evaluation.