Package org.apache.tools.ant.util

# Class ScriptRunnerBase

java.lang.Object
org.apache.tools.ant.util.ScriptRunnerBase

Direct Known Subclasses:
  `JavaxScriptRunner`, `ScriptRunner`

    public abstract class ScriptRunnerBase
    extends java.lang.Object

This is a common abstract base case for script runners. These classes need to implement executeScript, evaluateScript and supportsLanguage.

Since:
  Ant 1.7.0

## Constructor Summary

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

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`void` | `addBean​(java.lang.String key, java.lang.Object bean)` | Add a single object into the script context.
`void` | `addBeans​(java.util.Map<java.lang.String,​?> dictionary)` | Add a list of named objects to the list to be exported to the script
`void` | `addText​(java.lang.String text)` | Set the script text.
`void` | `bindToComponent​(ProjectComponent component)` | Bind the runner to a project component.
`void` | `bindToComponentMinimum​(ProjectComponent component)` | Bind the runner to a project component.
`protected void` | `checkLanguage()` | Check if the language attribute is set.
`void` | `clearScript()` | Clear the current script text content.
`abstract java.lang.Object` | `evaluateScript​(java.lang.String execName)` | Evaluate the script.
`abstract void` | `executeScript​(java.lang.String execName)` | Do the work.
`protected java.util.Map<java.lang.String,​java.lang.Object>` | `getBeans()` | Get the beans used for the script.
`boolean` | `getCompiled()` | Get the compiled attribute.
`boolean` | `getKeepEngine()` | Get the keep engine attribute.
`java.lang.String` | `getLanguage()` | Get the script language
`abstract java.lang.String` | `getManagerName()` | Get the name of the manager prefix used for this scriptrunner.
`Project` | `getProject()` | Get the project for this runner.
`java.lang.String` | `getScript()` | Get the current script text content.
`protected java.lang.ClassLoader` | `getScriptClassLoader()` | Get the classloader used to load the script engine.
`void` | `loadResource​(Resource sourceResource)` | Add a resource to the source list.
`void` | `loadResources​(ResourceCollection collection)` | Add all resources in a resource collection to the source list.
`protected java.lang.ClassLoader` | `replaceContextLoader()` | Replace the current context classloader with the script context classloader.
`protected void` | `restoreContextLoader​(java.lang.ClassLoader origLoader)` | Restore the context loader with the original context classloader.
`void` | `setCompiled​(boolean compiled)` | Whether to use script compilation if available.
`void` | `setEncoding​(java.lang.String encoding)` | Set encoding of the script from an external file; optional.
`void` | `setKeepEngine​(boolean keepEngine)` | Whether to keep the script engine between calls.
`void` | `setLanguage​(java.lang.String language)` | Defines the language (required).
`void` | `setProject​(Project project)` | Set the project for this runner.
`void` | `setScriptClassLoader​(java.lang.ClassLoader classLoader)` | Set the script classloader.
`void` | `setSrc​(java.io.File file)` | Load the script from an external file; optional.
`abstract boolean` | `supportsLanguage()` | Check if a script engine can be created for this language.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ScriptRunnerBase

public ScriptRunnerBase()

## Method Details

### addBeans

public void addBeans​(java.util.Map<java.lang.String,​?> dictionary)
Add a list of named objects to the list to be exported to the script

Parameters:
  `dictionary` - a map of objects to be placed into the script context indexed by String names.

### addBean

public void addBean​(java.lang.String key, java.lang.Object bean)
Add a single object into the script context.

Parameters:
  `key` - the name in the context this object is to stored under.
  `bean` - the object to be stored in the script context.

### getBeans

protected java.util.Map<java.lang.String,​java.lang.Object> getBeans()
Get the beans used for the script.

Returns:
  the map of beans.

### executeScript

public abstract void executeScript​(java.lang.String execName)
Do the work.

Parameters:
  `execName` - the name that will be passed to BSF for this script execution.

### evaluateScript

public abstract java.lang.Object evaluateScript​(java.lang.String execName)
Evaluate the script.

Parameters:
  `execName` - the name that will be passed to the scripting engine for this script execution.
Returns:
  the result of evaluating the script.

### supportsLanguage

public abstract boolean supportsLanguage()
Check if a script engine can be created for this language.

Returns:
  true if a script engine can be created, false otherwise.

### getManagerName

public abstract java.lang.String getManagerName()
Get the name of the manager prefix used for this scriptrunner.

Returns:
  the prefix string.

### setLanguage

public void setLanguage​(java.lang.String language)
Defines the language (required).

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

### getLanguage

public java.lang.String getLanguage()
Get the script language

Returns:
  the script language

### setScriptClassLoader

public void setScriptClassLoader​(java.lang.ClassLoader classLoader)
Set the script classloader.

Parameters:
  `classLoader` - the classloader to use.

### getScriptClassLoader

protected java.lang.ClassLoader getScriptClassLoader()
Get the classloader used to load the script engine.

Returns:
  the classloader.

### setKeepEngine

public void setKeepEngine​(boolean keepEngine)
Whether to keep the script engine between calls.

Parameters:
  `keepEngine` - if true, keep the engine.

### getKeepEngine

public boolean getKeepEngine()
Get the keep engine attribute.

Returns:
  the attribute.

### setCompiled

public final void setCompiled​(boolean compiled)
Whether to use script compilation if available.

Parameters:
  `compiled` - if true, compile the script if possible.
Since:
  Ant 1.10.2

### getCompiled

public final boolean getCompiled()
Get the compiled attribute.

Returns:
  the attribute.
Since:
  Ant 1.10.2

### setEncoding

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

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

### setSrc

public void setSrc​(java.io.File file)
Load the script from an external file; optional.

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

### loadResource

public void loadResource​(Resource sourceResource)
Add a resource to the source list.

Parameters:
  `sourceResource` - the resource to load
Throws:
  `BuildException` - if the resource cannot be read
Since:
  Ant 1.7.1

### loadResources

public void loadResources​(ResourceCollection collection)
Add all resources in a resource collection to the source list.

Parameters:
  `collection` - the resource to load
Throws:
  `BuildException` - if a resource cannot be read
Since:
  Ant 1.7.1

### addText

public void addText​(java.lang.String text)
Set the script text. Properties in the text are not expanded!

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

### getScript

public java.lang.String getScript()
Get the current script text content.

Returns:
  the script text.

### clearScript

public void clearScript()
Clear the current script text content.

### setProject

public void setProject​(Project project)
Set the project for this runner.

Parameters:
  `project` - the project.

### getProject

public Project getProject()
Get the project for this runner.

Returns:
  the project.

### bindToComponent

public void bindToComponent​(ProjectComponent component)
Bind the runner to a project component. Properties, targets and references are all added as beans; project is bound to project, and self to the component.

Parameters:
  `component` - to become `self`

### bindToComponentMinimum

public void bindToComponentMinimum​(ProjectComponent component)
Bind the runner to a project component. The project and self are the only beans set.

Parameters:
  `component` - to become `self`

### checkLanguage

protected void checkLanguage()
Check if the language attribute is set.

Throws:
  `BuildException` - if it is not.

### replaceContextLoader

protected java.lang.ClassLoader replaceContextLoader()
Replace the current context classloader with the script context classloader.

Returns:
  the current context classloader.

### restoreContextLoader

protected void restoreContextLoader​(java.lang.ClassLoader origLoader)
Restore the context loader with the original context classloader. script context loader.

Parameters:
  `origLoader` - the original context classloader.