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

Define a task using a script

Since:
  Ant 1.6

### Nested Class Summary

Nested Classes
`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 and Description
`ScriptDef()`

### Method Summary

Methods
`void` `add(ResourceCollection resource)` Add any source resource.
`void` `addAttribute(ScriptDef.Attribute attribute)` Add an attribute definition to this script.
`void` `addElement(ScriptDef.NestedElement nestedElement)` Add a nested element definition.
`void` `addText(java.lang.String text)` Set the script text.
`java.lang.Object` `createNestedElement(java.lang.String elementName)` Create a nested element to be configured.
`void` `execute()` Define the script.
`void` `executeScript(java.util.Map attributes, java.util.Map elements)` Deprecated. since 1.7. Use executeScript(attribute, elements, instance) instead.
`void` `executeScript(java.util.Map attributes, java.util.Map elements, ScriptDefBase instance)` Execute the script.
`boolean` `isAttributeSupported(java.lang.String attributeName)` Indicates whether the task supports a given attribute name
`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)` set 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)` Load 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 Detail

#### ScriptDef

    public ScriptDef()

### Method Detail

#### setProject

    public void setProject(Project project)

Set the project.

Overrides:
  `setProject` in class `ProjectComponent`
Parameters:
  `project` - the project that this def belows to.

#### setName

    public void setName(java.lang.String name)

set 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)

Add an attribute definition to this script.

Parameters:
  `attribute` - the attribute definition.

#### addElement

    public void addElement(ScriptDef.NestedElement nestedElement)

Add a nested element definition.

Parameters:
  `nestedElement` - the nested element definition.

#### execute

    public void execute()

Define the script.

Overrides:
  `execute` in class `Task`

#### createNestedElement

    public java.lang.Object createNestedElement(java.lang.String elementName)

Create a nested element to be configured.

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

#### executeScript

    public void executeScript(java.util.Map attributes,
                     java.util.Map elements)

Deprecated. since 1.7. Use executeScript(attribute, elements, instance) instead.
Execute the script.

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

#### executeScript

    public void executeScript(java.util.Map attributes,
                     java.util.Map elements,
                     ScriptDefBase instance)

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

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

Set the script text.

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

#### add

    public void add(ResourceCollection resource)

Add any source resource.

Parameters:
  `resource` - source of script
Since:
  Ant1.7.1