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:
  `java.lang.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()` |

## 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​(java.lang.String text)` | Sets the script text.
`java.lang.Object` | `createNestedElement​(java.lang.String elementName)` | Creates a nested element to be configured.
`void` | `execute()` | Defines the script.
`void` | `executeScript​(java.util.Map<java.lang.String,​java.lang.String> attributes, java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> elements)` | Deprecated. since 1.7.
`void` | `executeScript​(java.util.Map<java.lang.String,​java.lang.String> attributes, java.util.Map<java.lang.String,​java.util.List<java.lang.Object>> elements, ScriptDefBase instance)` | Executes the script.
`boolean` | `isAttributeSupported​(java.lang.String attributeName)` | Indicates whether the task supports a given attribute name
`void` | `setCompiled​(boolean compiled)` | Defines the compilation feature; optional.
`void` | `setEncoding​(java.lang.String encoding)` | Sets 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` | `setName​(java.lang.String name)` | Sets the name under which this script will be activated in a build file
`void` | `setProject​(Project project)` | Set the project.
`void` | `setSrc​(java.io.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()

## 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​(java.lang.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​(java.lang.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 java.lang.Object createNestedElement​(java.lang.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​(java.util.Map<java.lang.String,​java.lang.String> attributes, java.util.Map<java.lang.String,​java.util.List<java.lang.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​(java.util.Map<java.lang.String,​java.lang.String> attributes, java.util.Map<java.lang.String,​java.util.List<java.lang.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

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.

### 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​(java.io.File file)
Loads the script from an external file; optional.

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

### setEncoding

public void setEncoding​(java.lang.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

### addText

public void addText​(java.lang.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