Input (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.taskdefs, class: Input

# Class Input

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.Input

All Implemented Interfaces:
  `Cloneable`

public class Input extends Task
Reads an input line from the console.

Since:
  Ant 1.5

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `class`
  `Input.Handler`
  Represents an InputHandler.
  `static class`
  `Input.HandlerType`
  EnumeratedAttribute representing the built-in input handler types: "default", "propertyfile", "greedy", "secure" (since Ant 1.8).

- ## Field Summary

  ### Fields inherited from class Task

  `target, taskName, taskType, wrapper`
  Modifier and Type
  Field
  Description
  `protected Target`
  `target`
  Deprecated.
  since 1.6.x.
  `protected String`
  `taskName`
  Deprecated.
  since 1.6.x.
  `protected String`
  `taskType`
  Deprecated.
  since 1.6.x.
  `protected RuntimeConfigurable`
  `wrapper`
  Deprecated.
  since 1.6.x.

  ### Fields inherited from class ProjectComponent

  `description, location, project`
  Modifier and Type
  Field
  Description
  `protected String`
  `description`
  Deprecated.
  since 1.6.x.
  `protected Location`
  `location`
  Deprecated.
  since 1.6.x.
  `protected Project`
  `project`
  Deprecated.
  since 1.6.x.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Input()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addText(String msg)`
  Set a multiline message.
  `Input.Handler`
  `createHandler()`
  Create a nested handler element.
  `void`
  `execute()`
  Actual method executed by ant.
  `void`
  `setAddproperty(String addproperty)`
  Defines the name of a property to be created from input.
  `void`
  `setDefaultvalue(String defaultvalue)`
  Defines the default value of the property to be created from input.
  `void`
  `setMessage(String message)`
  Sets the Message which gets displayed to the user during the build run.
  `void`
  `setValidargs(String validargs)`
  Defines valid input parameters as comma separated strings.

  ### Methods inherited from class 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`
  Modifier and Type
  Method
  Description
  `final void`
  `bindToOwner(Task owner)`
  Bind a task to another; use this when configuring a newly created task to do work on behalf of another.
  `Target`
  `getOwningTarget()`
  Returns the container target of this task.
  `RuntimeConfigurable`
  `getRuntimeConfigurableWrapper()`
  Returns the wrapper used for runtime configuration.
  `String`
  `getTaskName()`
  Returns the name to use in logging messages.
  `String`
  `getTaskType()`
  Return the type of task.
  `protected RuntimeConfigurable`
  `getWrapper()`
  Return the runtime configurable structure for this task.
  `protected void`
  `handleErrorFlush(String output)`
  Handles an error line by logging it with the WARN priority.
  `protected void`
  `handleErrorOutput(String output)`
  Handles an error output by logging it with the WARN priority.
  `protected void`
  `handleFlush(String output)`
  Handles output by logging it with the INFO priority.
  `protected int`
  `handleInput(byte[] buffer, int offset, int length)`
  Handle an input request by this task.
  `protected void`
  `handleOutput(String output)`
  Handles output by logging it with the INFO priority.
  `void`
  `init()`
  Called by the project to let the task initialize properly.
  `protected final boolean`
  `isInvalid()`
  Has this task been marked invalid?
  `void`
  `log(String msg)`
  Logs a message with the default (INFO) priority.
  `void`
  `log(String msg, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `log(String msg, Throwable t, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `log(Throwable t, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `maybeConfigure()`
  Configures this task - if it hasn't been done already.
  `final void`
  `perform()`
  Performs this task if it's still valid, or gets a replacement version and performs that otherwise.
  `void`
  `reconfigure()`
  Force the task to be reconfigured from its RuntimeConfigurable.
  `void`
  `setOwningTarget(Target target)`
  Sets the target container of this task.
  `void`
  `setRuntimeConfigurableWrapper(RuntimeConfigurable wrapper)`
  Sets the wrapper to be used for runtime configuration.
  `void`
  `setTaskName(String name)`
  Sets the name to use in logging messages.
  `void`
  `setTaskType(String type)`
  Sets the name with which the task has been invoked.

  ### Methods inherited from class ProjectComponent

  `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`
  Modifier and Type
  Method
  Description
  `Object`
  `clone()`
  `String`
  `getDescription()`
  Returns the description of the current action.
  `Location`
  `getLocation()`
  Returns the file/location where this task was defined.
  `Project`
  `getProject()`
  Returns the project to which this component belongs.
  `void`
  `setDescription(String desc)`
  Sets a description of the current action.
  `void`
  `setLocation(Location location)`
  Sets the file/location where this task was defined.
  `void`
  `setProject(Project project)`
  Sets the project object of this component.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### Input

    public Input()

- ## Method Details

  - ### setValidargs

    public void setValidargs(String validargs)
    Defines valid input parameters as comma separated strings. If set, input task will reject any input not defined as accepted and requires the user to reenter it. Validargs are case sensitive. If you want 'a' and 'A' to be accepted you need to define both values as accepted arguments.
    Parameters:
      `validargs` - A comma separated String defining valid input args.

  - ### setAddproperty

    public void setAddproperty(String addproperty)
    Defines the name of a property to be created from input. Behaviour is according to property task which means that existing properties cannot be overridden.
    Parameters:
      `addproperty` - Name for the property to be created from input

  - ### setMessage

    public void setMessage(String message)
    Sets the Message which gets displayed to the user during the build run.
    Parameters:
      `message` - The message to be displayed.

  - ### setDefaultvalue

    public void setDefaultvalue(String defaultvalue)
    Defines the default value of the property to be created from input. Property value will be set to default if not input is received.
    Parameters:
      `defaultvalue` - Default value for the property if no input is received

  - ### addText

    public void addText(String msg)
    Set a multiline message.
    Parameters:
      `msg` - The message to be displayed.

  - ### execute

    public void execute() throws BuildException
    Actual method executed by ant.
    Overrides:
      `execute` in class `Task`
    Throws:
      `BuildException` - on error

  - ### createHandler

    public Input.Handler createHandler()
    Create a nested handler element.
    Returns:
      a Handler for this Input task.