org.apache.tools.ant.util.facade

## Class FacadeTaskHelper

- java.lang.Object
- - org.apache.tools.ant.util.facade.FacadeTaskHelper

    public class FacadeTaskHelper
    extends java.lang.Object

Helper class for facade implementations - encapsulates treatment of explicit implementation choices, magic properties and implementation specific command line arguments.

Since:
  Ant 1.5

### Constructor Summary

Constructors
Constructor and Description
`FacadeTaskHelper(java.lang.String defaultValue)`
`FacadeTaskHelper(java.lang.String defaultValue, java.lang.String magicValue)`

### Method Summary

Methods
`void` `addImplementationArgument(ImplementationSpecificArgument arg)` Command line argument.
`java.lang.String[]` `getArgs()` Retrieves the command line arguments enabled for the current facade implementation.
`java.lang.String` `getExplicitChoice()` Retrieves the explicit user choice.
`java.lang.String` `getImplementation()` Retrieves the implementation.
`Path` `getImplementationClasspath(Project project)` The classpath to use when loading the implementation.
`boolean` `hasBeenSet()` Tests whether the implementation has been chosen by the user (either via a magic property or explicitly.
`void` `setImplementation(java.lang.String userChoice)` Used for explicit user choices.
`void` `setMagicValue(java.lang.String magicValue)` Used to set the value of the magic property.

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

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

### Constructor Detail

#### FacadeTaskHelper

    public FacadeTaskHelper(java.lang.String defaultValue)

Parameters:
  `defaultValue` - The default value for the implementation. Must not be null.

#### FacadeTaskHelper

    public FacadeTaskHelper(java.lang.String defaultValue,
                    java.lang.String magicValue)

Parameters:
  `defaultValue` - The default value for the implementation. Must not be null.
  `magicValue` - the value of a magic property that may hold a user. choice. May be null.

### Method Detail

#### setMagicValue

    public void setMagicValue(java.lang.String magicValue)

Used to set the value of the magic property.

Parameters:
  `magicValue` - the value of a magic property that may hold a user.

#### setImplementation

    public void setImplementation(java.lang.String userChoice)

Used for explicit user choices.

Parameters:
  `userChoice` - the explicitly chosen implementation.

#### getImplementation

    public java.lang.String getImplementation()

Retrieves the implementation.

Returns:
  the implementation.

#### getExplicitChoice

    public java.lang.String getExplicitChoice()

Retrieves the explicit user choice.

Returns:
  the explicit user choice.

#### addImplementationArgument

    public void addImplementationArgument(ImplementationSpecificArgument arg)

Command line argument.

Parameters:
  `arg` - an argument to add.

#### getArgs

    public java.lang.String[] getArgs()

Retrieves the command line arguments enabled for the current facade implementation.

Returns:
  an array of command line arguments.

#### hasBeenSet

    public boolean hasBeenSet()

Tests whether the implementation has been chosen by the user (either via a magic property or explicitly.

Returns:
  true if magic or user choice has be set.
Since:
  Ant 1.5.2

#### getImplementationClasspath

    public Path getImplementationClasspath(Project project)

The classpath to use when loading the implementation.

Parameters:
  `project` - the current project
Returns:
  a Path instance that may be appended to
Since:
  Ant 1.8.0