Package 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

Constructors
Constructor | Description
--- | ---
`AbstractScriptComponent()` |

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`void` | `addText​(java.lang.String text)` | The script text.
`Path` | `createClasspath()` | Classpath to be used when searching for classes and resources.
`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` | `setEncoding​(java.lang.String encoding)` | Set the encoding of the script from an external file; optional.
`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` | `setSetBeans​(boolean setBeans)` | Set the setbeans attribute.
`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 Details

### AbstractScriptComponent

public AbstractScriptComponent()

## Method Details

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

### setSetBeans

public void setSetBeans​(boolean setBeans)
Set the setbeans attribute. If this is true, <script> will create variables in the script instance for all properties, targets and references of the current project. It this is false, only the project and self variables will be set. The default is true.

Parameters:
  `setBeans` - the value to set.
Since:
  Ant 1.8.0

### setEncoding

public void setEncoding​(java.lang.String encoding)
Set the encoding of the script from an external file; optional.

Parameters:
  `encoding` - the encoding of the file containing the script source.
Since:
  Ant 1.10.2