## 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
`FacadeTaskHelper(java.lang.String defaultValue)`
`FacadeTaskHelper(java.lang.String defaultValue, java.lang.String magicValue)`

Method Summary
`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