ScriptDef (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.taskdefs.optional.script, class: ScriptDef

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:
  `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(String text)`
  Sets the script text.
  `Object`
  `createNestedElement(String elementName)`
  Creates a nested element to be configured.
  `void`
  `execute()`
  Defines the script.
  `void`
  `executeScript(Map<String,String> attributes, Map<String,List<Object>> elements)`
  Deprecated.
  since 1.7.
  `void`
  `executeScript(Map<String,String> attributes, Map<String,List<Object>> elements, ScriptDefBase instance)`
  Executes the script.
  `boolean`
  `isAttributeSupported(String attributeName)`
  Indicates whether the task supports a given attribute name
  `void`
  `setCompiled(boolean compiled)`
  Defines the compilation feature; optional.
  `void`
  `setEncoding(String encoding)`
  Sets the encoding of the script from an external file; optional.
  `void`
  `setLanguage(String language)`
  Defines the language (required).
  `void`
  `setManager(String manager)`
  Defines the manager.
  `void`
  `setName(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(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(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(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 Object createNestedElement(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(Map<String,String> attributes, Map<String,List<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(Map<String,String> attributes, Map<String,List<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(String manager)
    Defines the manager.
    Parameters:
      `manager` - the scripting manager.

  - ### setLanguage

    public void setLanguage(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(File file)
    Loads the script from an external file; optional.
    Parameters:
      `file` - the file containing the script source.

  - ### setEncoding

    public void setEncoding(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(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