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