1 /* 2 * Copyright 2004-2009 the original author or authors. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package org.springmodules.validation.bean.conf.loader; 18 19 import org.springmodules.validation.bean.conf.BeanValidationConfiguration; 20 21 /** 22 * A strategy to load {@link org.springmodules.validation.bean.conf.BeanValidationConfiguration}'s for bean clases. 23 * 24 * @author Uri Boness 25 */ 26 public interface BeanValidationConfigurationLoader { 27 28 /** 29 * Loads the bean validation configuration for the given class. 30 * 31 * @param clazz The class for which the validation configuration will be loaded. 32 * @return The bean validation configuration for the given class or <code>null</code> if no configuration could be 33 * found. 34 */ 35 BeanValidationConfiguration loadConfiguration(Class clazz); 36 37 /** 38 * Indicates whether the given class is supported by this loader. The {@link #loadConfiguration(Class)} will return 39 * a validation configuration only for the supported classes. This method should typically be called to determine 40 * whether the {@link #loadConfiguration(Class)} should be called. 41 * 42 * @param clazz The class to be checked. 43 * @return <code>true</code> if this loader can load a valication configuration for the given class, 44 * <code>false</code> otherwise. 45 */ 46 boolean supports(Class clazz); 47 48 }