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

### Method Summary

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