Ant InputHandler是一個(gè)用于讀取用戶輸入任務(wù)的接口。任務(wù)從控制臺讀取用戶輸入或提示用戶輸入都很方便。
Task創(chuàng)建一個(gè)InputRequest對象并傳遞給InputHandler。 InputRequest檢查給定輸入是否有效,InputHandler可以拒絕任何無效輸入。
此接口包含具有以下簽名的方法:handleInput。
void handleInput(InputRequest request)
throws org.apache.tools.ant.BuildException;
此方法拋出BuildException,并且不允許返回任何無效請求。
InputHandler內(nèi)置實(shí)現(xiàn)
DefaultInputHandler
如果用戶不使用-inputhandler命令行選項(xiàng),則這是默認(rèn)實(shí)現(xiàn)。 它將提示輸入請求對象并重新提示,直到用戶輸入有效輸入。 此輸入將從控制臺讀取,用戶需要按返回鍵。
PropertyFileInputHandler
這不是默認(rèn)實(shí)現(xiàn),用于從屬性文件中讀取用戶輸入。 如果輸入無效,則返回異常。 必須在Java系統(tǒng)屬性ant.input.properties中指定屬性文件的名稱。
注意:屬性文件必須是Java系統(tǒng)屬性,而不是Ant屬性。
GreedyInputHandler
此實(shí)現(xiàn)從標(biāo)準(zhǔn)輸入讀取,對通過OS管道發(fā)送Ant輸入很有用。
SecureInputHandler
它充當(dāng)默認(rèn)處理程序,除了它使用System.console().readPassword()方法從控制臺讀取用戶輸入。此方法在Java 6中引入。