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`