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中引入。