## 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
`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
`ScriptDef()`

Method Summary
`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