Apache Ant InputHandler接口

Ant InputHandler是一個用於讀取用戶輸入任務的接口。任務從控制檯讀取用戶輸入或提示用戶輸入都很方便。

Task創建一個InputRequest對象並傳遞給InputHandlerInputRequest檢查給定輸入是否有效,InputHandler可以拒絕任何無效輸入。

此接口包含具有以下簽名的方法:handleInput

void handleInput(InputRequest request)  
    throws org.apache.tools.ant.BuildException;

此方法拋出BuildException,並且不允許返回任何無效請求。

InputHandler內置實現

  • DefaultInputHandler
  • PropertyFileInputHandler
  • GreedyInputHandler
  • SecureInputHandler

DefaultInputHandler

如果用戶不使用-inputhandler命令行選項,則這是默認實現。 它將提示輸入請求對象並重新提示,直到用戶輸入有效輸入。 此輸入將從控制檯讀取,用戶需要按返回鍵。

PropertyFileInputHandler

這不是默認實現,用於從屬性文件中讀取用戶輸入。 如果輸入無效,則返回異常。 必須在Java系統屬性ant.input.properties中指定屬性文件的名稱。

注意:屬性文件必須是Java系統屬性,而不是Ant屬性。

GreedyInputHandler

此實現從標準輸入讀取,對通過OS管道發送Ant輸入很有用。

SecureInputHandler

它充當默認處理程序,除了它使用System.console().readPassword()方法從控制檯讀取用戶輸入。此方法在Java 6中引入。