Validator.java |
1 package org.tp23.antinstaller.input; 2 3 import java.util.Locale; 4 5 import org.tp23.antinstaller.InstallerContext; 6 7 8 /** 9 * A no args constructor should be provided 10 * @author Paul Hinds 11 * @version $Id: Validator.java,v 1.1.1.1 2005/10/18 18:20:54 teknopaul Exp $ 12 */ 13public interface Validator { 14 15 /** 16 * Validate the user entry. The InstallerContext is provided to allow 17 * conditional failure based on user input. for example the implementation 18 * of this class could call the following code after failing to open a socket 19 * <pre> 20 * boolean usrOverride = ctx.getMessageRenderer().prompt("Prot not available are you sure?"); 21 * if(userOverride)return true; 22 * else{ 23 * throw new SocketException(); 24 * } 25 * </pre> 26 * @param text may be null it is up to the validator to decide if null or "" 27 * is acceptable 28 * @throws Exception 29 */ 30 public void validate(String text,InstallerContext ctx)throws Exception; 31 /** 32 * This method should return a string for every exception that might be 33 * thrown by the validate method. The top level Throwable should be 34 * handled at least. 35 * @param ex 36 * @param l Locale (ignored, but one day we should be internationalized) 37 * @return 38 */ 39 public String getErrorMessage(Throwable ex,Locale l); 40} 41