## org.apache.tools.ant.taskdefs
Class MacroDef

    java.lang.Object
      |
      +--org.apache.tools.ant.ProjectComponent
            |
            +--org.apache.tools.ant.Task
                  |
                  +--org.apache.tools.ant.taskdefs.AntlibDefinition
                        |
                        +--org.apache.tools.ant.taskdefs.MacroDef

public class MacroDef
extends AntlibDefinition

Describe class `MacroDef` here.

Since:
  Ant 1.6
Author:
  Peter Reilly

Nested Class Summary
`static class` `MacroDef.Attribute` A nested element for the MacroDef task.
`static class` `MacroDef.NestedSequential` The class corresponding to the sequential nested element.
`static class` `MacroDef.TemplateElement` A nested element for the MacroDef task.

Field Summary

Fields inherited from class org.apache.tools.ant.Task
`description, location, target, taskName, taskType, wrapper`

Fields inherited from class org.apache.tools.ant.ProjectComponent
`project`

Constructor Summary
`MacroDef()`

Method Summary
`void` `addConfiguredAttribute(MacroDef.Attribute attribute)` Add an attribute element.
`void` `addConfiguredElement(MacroDef.TemplateElement element)` Add an element element.
`MacroDef.NestedSequential` `createSequential()` This is the sequential nested element of the macrodef.
`boolean` `equals(java.lang.Object obj)` equality method for macrodef, ignores project and runtime info.
`void` `execute()` Create a new ant type based on the embedded tasks and types.
`java.util.List` `getAttributes()`
`java.util.Map` `getElements()`
`UnknownElement` `getNestedTask()` Convert the nested sequential to an unknown element
`int` `hashCode()`
`static boolean` `isValidNameCharacter(char c)` Check if a character is a valid character for an element or attribute name
`void` `setName(java.lang.String name)` Name of the definition

Methods inherited from class org.apache.tools.ant.taskdefs.AntlibDefinition
`getAntlibClassLoader, getURI, setAntlibClassLoader, setURI`

Methods inherited from class org.apache.tools.ant.Task
`getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

Methods inherited from class org.apache.tools.ant.ProjectComponent
`getProject, setProject`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MacroDef

    public MacroDef()

Method Detail

### setName

    public void setName(java.lang.String name)

  Name of the definition

  Parameters:
    `name` - the name of the definition

### createSequential

    public MacroDef.NestedSequential createSequential()

  This is the sequential nested element of the macrodef.

  Returns:
    a sequential element to be configured.

### getNestedTask

    public UnknownElement getNestedTask()

  Convert the nested sequential to an unknown element

  Returns:
    the nested sequential as an unknown element.

### getAttributes

    public java.util.List getAttributes()

  Returns:
    the nested Attributes

### getElements

    public java.util.Map getElements()

  Returns:
    the nested elements

### isValidNameCharacter

    public static boolean isValidNameCharacter(char c)

  Check if a character is a valid character for an element or attribute name

  Parameters:
    `c` - the character to check
  Returns:
    true if the character is a letter or digit or '.' or '-' attribute name

### addConfiguredAttribute

    public void addConfiguredAttribute(MacroDef.Attribute attribute)

  Add an attribute element.

  Parameters:
    `attribute` - an attribute nested element.

### addConfiguredElement

    public void addConfiguredElement(MacroDef.TemplateElement element)

  Add an element element.

  Parameters:
    `element` - an element nested element.

### execute

    public void execute()

  Create a new ant type based on the embedded tasks and types.

  Overrides:
    `execute` in class `Task`

### equals

    public boolean equals(java.lang.Object obj)

  equality method for macrodef, ignores project and runtime info.

  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `obj` - an `Object` value
  Returns:
    a `boolean` value

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `java.lang.Object`
  Returns:
    a hash code value for this object.

Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.