Package org.apache.tools.ant.taskdefs.optional.script

# Class ScriptDef

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
org.apache.tools.ant.taskdefs.optional.script.ScriptDef

All Implemented Interfaces:
  `Cloneable`

public class ScriptDef extends DefBase
Defines a task using a script.

Since:
  Ant 1.6

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`ScriptDef.Attribute`
Class representing an attribute definition
`static class`
`ScriptDef.NestedElement`
Class to represent a nested element definition

## 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
`ScriptDef()`
Create a new `ScriptDef`.

## Method Summary

Modifier and Type
Method
Description
`void`
`add(ResourceCollection resource)`
Adds any source resource.
`void`
`addAttribute(ScriptDef.Attribute attribute)`
Adds an attribute definition to this script.
`void`
`addElement(ScriptDef.NestedElement nestedElement)`
Adds a nested element definition.
`void`
`addText(String text)`
Sets the script text.
`Object`
`createNestedElement(String elementName)`
Creates a nested element to be configured.
`void`
`execute()`
Defines the script.
`void`
`executeScript(Map<String,String> attributes, Map<String,List<Object>> elements)`
Deprecated.
since 1.7.
`void`
`executeScript(Map<String,String> attributes, Map<String,List<Object>> elements, ScriptDefBase instance)`
Executes the script.
`boolean`
`isAttributeSupported(String attributeName)`
Indicates whether the task supports a given attribute name
`void`
`setCompiled(boolean compiled)`
Defines the compilation feature; optional.
`void`
`setEncoding(String encoding)`
Sets the encoding of the script from an external file; optional.
`void`
`setLanguage(String language)`
Defines the language (required).
`void`
`setManager(String manager)`
Deprecated.
`void`
`setManager(ScriptManager manager)`
Set the script manager.
`void`
`setName(String name)`
Sets the name under which this script will be activated in a build file
`void`
`setProject(Project project)`
Set the project.
`void`
`setSetBeans(boolean setBeans)`
Set the setbeans attribute.
`void`
`setSrc(File file)`
Loads the script from an external file; optional.

### Methods inherited from class org.apache.tools.ant.taskdefs.DefBase

`createClasspath, createLoader, getClasspath, getClasspathId, getLoaderId, hasCpDelegate, init, isReverseLoader, setClasspath, setClasspathRef, setLoaderRef, setReverseLoader`

### Methods inherited from class org.apache.tools.ant.taskdefs.AntlibDefinition

`getAntlibClassLoader, getURI, setAntlibClassLoader, setURI`

### Methods inherited from class org.apache.tools.ant.Task

`bindToOwner, 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`

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

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

## Constructor Details

### ScriptDef

public ScriptDef()
Create a new `ScriptDef`.

## Method Details

### setProject

public void setProject(Project project)
Set the project.

Overrides:
  `setProject` in class `ProjectComponent`
Parameters:
  `project` - the project that this definition belongs to.

### setName

public void setName(String name)
Sets the name under which this script will be activated in a build file

Parameters:
  `name` - the name of the script

### isAttributeSupported

public boolean isAttributeSupported(String attributeName)
Indicates whether the task supports a given attribute name

Parameters:
  `attributeName` - the name of the attribute.
Returns:
  true if the attribute is supported by the script.

### addAttribute

public void addAttribute(ScriptDef.Attribute attribute)
Adds an attribute definition to this script.

Parameters:
  `attribute` - the attribute definition.

### addElement

public void addElement(ScriptDef.NestedElement nestedElement)
Adds a nested element definition.

Parameters:
  `nestedElement` - the nested element definition.

### execute

public void execute()
Defines the script.

Overrides:
  `execute` in class `Task`

### createNestedElement

public Object createNestedElement(String elementName)
Creates a nested element to be configured.

Parameters:
  `elementName` - the name of the nested element.
Returns:
  object representing the element name.

### executeScript

@Deprecated public void executeScript(Map<String,String> attributes, Map<String,List<Object>> elements)
Deprecated.
since 1.7. Use executeScript(attribute, elements, instance) instead.
Executes the script.

Parameters:
  `attributes` - collection of attributes
  `elements` - a list of nested element values.

### executeScript

public void executeScript(Map<String,String> attributes, Map<String,List<Object>> elements, ScriptDefBase instance)
Executes the script. This is called by the script instance to execute the script for this definition.

Parameters:
  `attributes` - collection of attributes
  `elements` - a list of nested element values.
  `instance` - the script instance; can be null

### setManager

@Deprecated public void setManager(String manager)
Deprecated.
Defines the manager.

Parameters:
  `manager` - the scripting manager.

### setManager

public void setManager(ScriptManager manager)
Set the script manager.

Parameters:
  `manager` -

### setLanguage

public void setLanguage(String language)
Defines the language (required).

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

### setCompiled

public void setCompiled(boolean compiled)
Defines the compilation feature; optional.

Parameters:
  `compiled` - enables the script compilation if available.
Since:
  Ant 1.10.2

### setSrc

public void setSrc(File file)
Loads the script from an external file; optional.

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

### setEncoding

public void setEncoding(String encoding)
Sets 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

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

### addText

public void addText(String text)
Sets the script text.

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

### add

public void add(ResourceCollection resource)
Adds any source resource.

Parameters:
  `resource` - source of script
Since:
  Ant 1.7.1