1 /* 2 * SSL-Explorer 3 * 4 * Copyright (C) 2003-2006 3SP LTD. All Rights Reserved 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 2 of 9 * the License, or (at your option) any later version. 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public 16 * License along with this program; if not, write to the Free Software 17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 18 */ 19 20 package com.sslexplorer.boot; 21 22 import java.util.Properties; 23 24 25 /** 26 * Provides validator for property definitions. 27 * 28 * {@link PropertyDefinition} implementations may return an instance a <i>Property Validator</i>. 29 * When a user changes the value of the property, an instance of the specified class that 30 * implements this interface is instantiated and the {@link #validate(PropertyDefinition, String, Properties)} 31 * method is called. 32 * <p> 33 * Properties are also extracted from the validation string and passed to the validate method. 34 * If no properties were supplied the value may be <code>null</code>. 35 * 36 * @author Brett Smith <a HREF="mailto: brett@3sp.com"><brett@3sp.com></a> 37 */ 38 public interface PropertyValidator { 39 40 /** 41 * Validate the property, throwing an exception if the value is not correct. 42 * 43 * @param definition definition of property 44 * @param value requested value of property 45 * @param properties validator properties (may be <code>null</code> 46 * @throws CodedException if value is invalid 47 */ 48 public void validate(PropertyDefinition definition, String value, Properties properties) throws CodedException; 49 50 } 51