# Interface IAntScript

public interface IAntScript
Interface providing helper methods to produce Ant scripts.

It contains convenience methods for creating the XML elements required for Ant scripts. See the Ant website for more details on Ant scripts and the particular Ant tasks.

Restriction:
  This interface is not intended to be implemented by clients.

## Method Summary

Modifier and Type
Method
Description
`void`
`decrementIdent()`
Decrement the nesting level
`void`
`incrementIdent()`
Increment the nesting level
`void`
`print(String string)`
Print the given string to the Ant script.
`void`
`printAntCallTask(String target, boolean inheritAll, Map<String,String> params)`
Print an ant call task as defined by AntCall}.
`void`
`printAttribute(String name, String value, boolean mandatory)`
Print an XML attribute.
`void`
`printComment(String comment)`
Print the given comment to the Ant script folled by a carriage-return.
`void`
`printEchoTask(String file, String message, String level)`
Print an echo task
`void`
`printElement(String tag, Map<String,String> attributes)`
Print an xml element with attributes (`<tagName [attributes`
`void`
`printEndMacroDef()`
Print the end of the macro
`void`
`printEndTag(String endTag)`
Print tagName as an xml end tag (`</tagName>`).
`void`
`println()`
Print a empty line.
`void`
`println(String string)`
Print the given string followed by a carriage-return.
`void`
`printMacroDef(String macroName, List<String> attributes)`
Print the beginning of a macro definition.
`void`
`printStartTag(String tagName)`
Print tagName as an xml begin tag (`<tagName>`).
`void`
`printStartTag(String tag, Map<String,String> attributes)`
Print tagName as an xml begin tag with attributes (`<tagName [attributes...]`
`void`
`printTabs()`
Print as many tabs as current nesting level requires
`void`
`printTargetDeclaration(String name, String depends, String ifClause, String unlessClause, String description)`
Print a target declaration.
`void`
`printTargetEnd()`
Print the end tag for a target declaration.

## Method Details

### print

void print(String string)
Print the given string to the Ant script.

Parameters:
  `string` - the string to print.

### printComment

void printComment(String comment)
Print the given comment to the Ant script folled by a carriage-return.

Parameters:
  `comment` - the comment to print.

### println

void println(String string)
Print the given string followed by a carriage-return.

Parameters:
  `string` - the string to print.

### println

void println()
Print a empty line.

### printAntCallTask

void printAntCallTask(String target, boolean inheritAll, Map<String,String> params)
Print an ant call task as defined by AntCall}.

Parameters:
  `target` - the target executed by the call. This value can not be `null`.
  `inheritAll` - If true, pass all properties to the new Ant project.
  `params` - Specifies as key / value pairs, the properties to set before running the specified target. This value can be `null`

### printAttribute

void printAttribute(String name, String value, boolean mandatory)
Print an XML attribute. `name=value`.

Parameters:
  `name` - the name of the attribute to print. This value can not be `null`.
  `value` - the name of the value to print. This value can be `null`.
  `mandatory` - indicate whether or not the value is mandatory. If the `value` is `null` and the attribute is mandatory, the printed value will be "".

### printStartTag

void printStartTag(String tagName)
Print tagName as an xml begin tag (`<tagName>`).

Parameters:
  `tagName` - the tag to print.

### printStartTag

void printStartTag(String tag, Map<String,String> attributes)
Print tagName as an xml begin tag with attributes (`<tagName [attributes...] >`).

Parameters:
  `tag` - the tag to print.
  `attributes` - attributes for the tag.
Since:
  3.6

### printEndTag

void printEndTag(String endTag)
Print tagName as an xml end tag (`</tagName>`).

Parameters:
  `endTag` - the tag to print.

### printElement

void printElement(String tag, Map<String,String> attributes)
Print an xml element with attributes (`<tagName [attributes...] />`).

Parameters:
  `tag` - the tag to print
  `attributes` - the attributes for the tag
Since:
  3.6

### printTabs

void printTabs()
Print as many tabs as current nesting level requires

### incrementIdent

void incrementIdent()
Increment the nesting level

Since:
  3.6

### decrementIdent

void decrementIdent()
Decrement the nesting level

Since:
  3.6

### printTargetDeclaration

void printTargetDeclaration(String name, String depends, String ifClause, String unlessClause, String description)
Print a target declaration. See Ant's targets.

Parameters:
  `name` - the name of the target. This value can not be `null`.
  `depends` - a comma-separated list of names of targets on which this target depends. This value can be `null`.
  `ifClause` - the name of the property that must be set in order for this target to execute. This value can be `null`
  `unlessClause` - the name of the property that must not be set in order for this target to execute. This value can be `null`
  `description` - a short description of this target's function. This value can be `null`

### printTargetEnd

void printTargetEnd()
Print the end tag for a target declaration.

### printEchoTask

void printEchoTask(String file, String message, String level)
Print an echo task

Parameters:
  `file` - - file to write the message to (or null)
  `message` - - the message to echo
  `level` - - the level to report the message (ie, "error", "warning", "info"), "warning" is the default if null is passed.
Since:
  3.6

### printMacroDef

void printMacroDef(String macroName, List<String> attributes)
Print the beginning of a macro definition.

Parameters:
  `macroName` - the name of the macro
  `attributes` - the attributes of the macro
Since:
  3.6

### printEndMacroDef

void printEndMacroDef()
Print the end of the macro

Since:
  3.6