/*
 * Hibernate Validator, declare and validate application constraints
 *
 * License: Apache License, Version 2.0
 * See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>.
 */
package org.hibernate.validator.internal.metadata.provider;

import org.hibernate.validator.internal.metadata.core.AnnotationProcessingOptions;
import org.hibernate.validator.internal.metadata.raw.BeanConfiguration;

A provider for constraint related meta data such as constraints, default group sequences etc.

Implementations are based one different meta data sources such as XML, programmatic mappings and annotations. Meta data providers only return meta data directly configured for one class, they don't deal with merging meta data from super-classes or implemented interfaces.

Author:Gunnar Morling, Hardy Ferentschik
/** * A provider for constraint related meta data such as constraints, default * group sequences etc. * <p> * Implementations are based one different meta data sources such as XML, * programmatic mappings and annotations. Meta data providers only return meta * data directly configured for one class, they don't deal with merging meta * data from super-classes or implemented interfaces. * </p> * * @author Gunnar Morling * @author Hardy Ferentschik */
public interface MetaDataProvider {
Returns the annotation processing options as configured by this provider.
Returns:The annotation processing options as configured by this provider.
/** * Returns the annotation processing options as configured by this provider. * * @return The annotation processing options as configured by this provider. */
AnnotationProcessingOptions getAnnotationProcessingOptions();
Returns a bean configuration for the given type or null if this provider has no meta-data on the given type.
/** * Returns a bean configuration for the given type or {@code null} if this provider has no meta-data on the given * type. */
<T> BeanConfiguration<? super T> getBeanConfiguration(Class<T> beanClass); }