Package org.apache.tools.ant.taskdefs

# Class MacroInstance

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.MacroInstance

All Implemented Interfaces:
  `java.lang.Cloneable`, `DynamicAttribute`, `TaskContainer`

    public class MacroInstance
    extends Task
    implements DynamicAttribute, TaskContainer

The class to be placed in the ant type definition. It is given a pointer to the template definition, and makes a copy of the unknown element, substituting the parameter values in attributes and text.

Since:
  Ant 1.6

## Nested Class Summary

Nested Classes
Modifier and Type | Class | Description
--- | --- | ---
`static class` | `MacroInstance.Element` | Embedded element in macro instance

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

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`void` | `addTask​(Task nestedTask)` | Add a unknownElement for the macro instances nested elements.
`void` | `addText​(java.lang.String text)` | Set the text contents for the macro.
`java.lang.Object` | `createDynamicElement​(java.lang.String name)` | Deprecated. since 1.6.x.
`void` | `execute()` | Execute the templates instance.
`MacroDef` | `getMacroDef()` |
`void` | `setDynamicAttribute​(java.lang.String name, java.lang.String value)` | A parameter name value pair as a xml attribute.
`void` | `setMacroDef​(MacroDef macroDef)` | Called from MacroDef.MyAntTypeDefinition#create()

### Methods inherited from class org.apache.tools.ant.Task

`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, 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, setProject`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### MacroInstance

public MacroInstance()

## Method Details

### setMacroDef

public void setMacroDef​(MacroDef macroDef)
Called from MacroDef.MyAntTypeDefinition#create()

Parameters:
  `macroDef` - a `MacroDef` value

### getMacroDef

public MacroDef getMacroDef()

Returns:
  the macro definition object for this macro instance.

### setDynamicAttribute

public void setDynamicAttribute​(java.lang.String name, java.lang.String value)
A parameter name value pair as a xml attribute.

Specified by:
  `setDynamicAttribute` in interface `DynamicAttribute`
Parameters:
  `name` - the name of the attribute
  `value` - the value of the attribute

### createDynamicElement

@Deprecated public java.lang.Object createDynamicElement​(java.lang.String name) throws BuildException
Deprecated.
since 1.6.x.
Method present for BC purposes.

Parameters:
  `name` - not used
Returns:
  nothing
Throws:
  `BuildException` - always

### addTask

public void addTask​(Task nestedTask)
Add a unknownElement for the macro instances nested elements.

Specified by:
  `addTask` in interface `TaskContainer`
Parameters:
  `nestedTask` - a nested element.

### addText

public void addText​(java.lang.String text)
Set the text contents for the macro.

Parameters:
  `text` - the text to be added to the macro.

### execute

public void execute()
Execute the templates instance. Copies the unknown element, substitutes the attributes, and calls perform on the unknown element.

Overrides:
  `execute` in class `Task`