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

    All Methods Instance Methods Concrete Methods Deprecated Methods
    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 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 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