Apache Ant InputHandler

2024 年 8 月 28 日 | 阅读 2 分钟

Ant InputHandler 是一个接口,它帮助任务读取用户输入。它对于任何需要从控制台读取用户输入或提示用户输入的任务都非常方便。

任务创建一个 InputRequest 对象并将其传递给 InputHandlerInputRequest 检查给定的输入是否有效,并且 InputHandler 可以拒绝任何无效输入。

该接口包含一个名为 handleInput 的方法,其签名如下。

此方法会抛出 BuildException,并且不允许返回任何无效的请求。

InputHandler 内置实现

  • DefaultInputHandler
  • PropertyFileInputHandler
  • GreedyInputHandler
  • SecureInputHandler

DefaultInputHandler

如果用户未使用 -inputhandler 命令行选项,这将是默认实现。它会提示在请求对象中输入,并重新提示,直到用户输入有效输入为止。此输入将从控制台读取,并且用户需要按回车键。

PropertyFileInputHandler

这不是默认实现,用于从属性文件中读取用户输入。 如果输入无效,则返回异常。 属性文件的名称必须在 Java 系统属性 ant.input.properties 中指定。

注意:该属性文件必须是 Java 系统属性,而不是 Ant 属性。

GreedyInputHandler

此实现从标准输入读取,可用于通过 OS 管道发送 Ant 输入。

SecureInputHandler

它作为默认处理程序,除了它使用 System.console().readPassword() 方法从控制台读取用户输入。 该方法是在 Java 6 中引入的。