All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jakarta.validation.BootstrapConfiguration Maven / Gradle / Ivy

There is a newer version: 4.0.1
Show newest version
/*
 * Jakarta Bean Validation API
 *
 * License: Apache License, Version 2.0
 * See the license.txt file in the root directory or .
 */
package jakarta.validation;

import java.util.Map;
import java.util.Set;

import jakarta.validation.executable.ExecutableType;
import jakarta.validation.executable.ValidateOnExecution;
import jakarta.validation.spi.ValidationProvider;
import jakarta.validation.valueextraction.ValueExtractor;

/**
 * Represents the user specified default configuration in
 * {@code META-INF/validation.xml}.
 * 

* Note that modifications to the returned objects do not have any effect. * Instead use the methods provided on {@link Configuration} in order to * apply modifications to the configuration. * * @author Emmanuel Bernard * @author Gunnar Morling * @author Hardy Ferentschik * @author Guillaume Smet * @since 1.1 */ public interface BootstrapConfiguration { /** * Class name of the {@link ValidationProvider} implementation * or {@code null} if none is specified. * * @return validation provider class name or {@code null} */ String getDefaultProviderClassName(); /** * Class name of the {@link ConstraintValidatorFactory} implementation * or {@code null} if none is specified. * * @return constraint validator factory class name or {@code null} */ String getConstraintValidatorFactoryClassName(); /** * Class name of the {@link MessageInterpolator} implementation * or {@code null} if none is specified. * * @return message interpolator class name or {@code null} */ String getMessageInterpolatorClassName(); /** * Class name of the {@link TraversableResolver} implementation * or {@code null} if none is specified. * * @return traversable resolver class name or {@code null} */ String getTraversableResolverClassName(); /** * Class name of the {@link ParameterNameProvider} implementation * or {@code null} if none is specified. * * @return parameter name provider class name or {@code null} */ String getParameterNameProviderClassName(); /** * Class name of the {@link ClockProvider} implementation or * {@code null} if none is specified. * * @return clock provider class name or {@code null} * * @since 2.0 */ String getClockProviderClassName(); /** * Returns the class names of {@link ValueExtractor}s. * * @return the value extractor class names or an empty set if none are specified * @since 2.0 */ Set getValueExtractorClassNames(); /** * Returns a set of resource paths pointing to XML constraint mapping files. * The set is empty if none are specified. * * @return set of constraint mapping resource paths */ Set getConstraintMappingResourcePaths(); /** * Returns true if the validation execution is explicitly marked as enabled * or if it is left undefined. * * @return whether validation execution is globally enabled */ boolean isExecutableValidationEnabled(); /** * Returns the set of executable types that should be considered * unless explicitly overridden via {@link ValidateOnExecution}. *

* Returns a set containing {@link ExecutableType#CONSTRUCTORS} and * {@link ExecutableType#NON_GETTER_METHODS} if unspecified in the configuration. * * @return set of validated executable types */ Set getDefaultValidatedExecutableTypes(); /** * Returns properties as a map of string based key/value pairs. * The map is empty if no property has been specified. * * @return the properties map */ Map getProperties(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy