Class BeanMetaDataImpl<T>
java.lang.Object
org.hibernate.validator.internal.metadata.aggregated.BeanMetaDataImpl<T>
- All Implemented Interfaces:
BeanMetaData<T>
,Validatable
This class encapsulates all meta data needed for validation. Implementations of
Validator
interface can
instantiate an instance of this class and delegate the metadata extraction to it.- Author:
- Hardy Ferentschik, Gunnar Morling, Kevin Pollet <kevin.pollet@serli.com> (C) 2011 SERLI, Chris Beckey <cbeckey@paypal.com>, Guillaume Smet, Marko Bekhta
-
Constructor Summary
ConstructorsConstructorDescriptionBeanMetaDataImpl
(Class<T> beanClass, List<Class<?>> defaultGroupSequence, DefaultGroupSequenceProvider<? super T> defaultGroupSequenceProvider, Set<ConstraintMetaData> constraintMetaDataSet, ValidationOrderGenerator validationOrderGenerator) Creates a newBeanMetaDataImpl
-
Method Summary
Modifier and TypeMethodDescriptionjakarta.validation.metadata.BeanDescriptor
Returns the cascaded elements of this validatable, e.g.getDefaultGroupSequence
(T beanState) Get the composition of the default group sequence.getDefaultValidationSequence
(T beanState) Returns an iterator over the default validation group sequence as configured through@GroupSequence
/@DefaultGroupSequenceProvider
.Set<MetaConstraint<?>>
Set<MetaConstraint<?>>
getMetaDataFor
(Executable executable) Returns the constraint-related metadata for the given executable of the class represented by this bean metadata.getMetaDataFor
(String propertyName) Returns constraint-related meta data for the given property of this bean.boolean
Returnstrue
if this validatable has at least one cascadable element,false
otherwise.boolean
Returnstrue
if the bean class for this bean meta data has any constraints at all,false
otherwise.boolean
toString()
-
Constructor Details
-
BeanMetaDataImpl
public BeanMetaDataImpl(Class<T> beanClass, List<Class<?>> defaultGroupSequence, DefaultGroupSequenceProvider<? super T> defaultGroupSequenceProvider, Set<ConstraintMetaData> constraintMetaDataSet, ValidationOrderGenerator validationOrderGenerator) Creates a newBeanMetaDataImpl
- Parameters:
beanClass
- The Java type represented by this meta data object.defaultGroupSequence
- The default group sequence.defaultGroupSequenceProvider
- The default group sequence provider if set.constraintMetaDataSet
- All constraint meta data relating to the represented type.
-
-
Method Details
-
getBeanClass
- Specified by:
getBeanClass
in interfaceBeanMetaData<T>
- Returns:
- the class of the bean.
-
hasConstraints
public boolean hasConstraints()Description copied from interface:BeanMetaData
Returnstrue
if the bean class for this bean meta data has any constraints at all,false
otherwise.- Specified by:
hasConstraints
in interfaceBeanMetaData<T>
- Returns:
true
if the bean class for this bean meta data has any constraints at all,false
otherwise.
-
getBeanDescriptor
public jakarta.validation.metadata.BeanDescriptor getBeanDescriptor()- Specified by:
getBeanDescriptor
in interfaceBeanMetaData<T>
- Returns:
- an instance of
ElementDescriptor
describing the bean this meta data applies for.
-
getCascadables
Description copied from interface:Validatable
Returns the cascaded elements of this validatable, e.g. the properties of a bean or the parameters of a method annotated with@Valid
.- Specified by:
getCascadables
in interfaceValidatable
- Returns:
- The cascaded elements of this validatable.
-
hasCascadables
public boolean hasCascadables()Description copied from interface:Validatable
Returnstrue
if this validatable has at least one cascadable element,false
otherwise.- Specified by:
hasCascadables
in interfaceValidatable
-
getMetaDataFor
Description copied from interface:BeanMetaData
Returns constraint-related meta data for the given property of this bean.- Specified by:
getMetaDataFor
in interfaceBeanMetaData<T>
- Parameters:
propertyName
- The property name.- Returns:
- Constraint-related meta data.
-
getMetaConstraints
- Specified by:
getMetaConstraints
in interfaceBeanMetaData<T>
- Returns:
- A set of
MetaConstraint
instances encapsulating the information of all the constraints defined on the bean. This collection includes constraints from super classes as well
-
getDirectMetaConstraints
- Specified by:
getDirectMetaConstraints
in interfaceBeanMetaData<T>
- Returns:
- A set of
MetaConstraint
instances encapsulating the information of all the constraints defined on the bean directly (including constraints defined on implemented interfaces). It does not contain constraints from super classes or interfaces implemented by super classes
-
getMetaDataFor
Description copied from interface:BeanMetaData
Returns the constraint-related metadata for the given executable of the class represented by this bean metadata.- Specified by:
getMetaDataFor
in interfaceBeanMetaData<T>
- Parameters:
executable
- The executable of interest.- Returns:
- An optional either containing an aggregated view on the constraint related metadata from the given method and all the methods from super-types which it overrides or implements or being empty if the method is not constrained at all.
-
getDefaultGroupSequence
Description copied from interface:BeanMetaData
Get the composition of the default group sequence.If the bean state is given in parameter and the bean metadata has a default group sequence provider then the dynamic default group sequence composition is returned. In the other cases the default group sequence redefinition specified by BV is used.
- Specified by:
getDefaultGroupSequence
in interfaceBeanMetaData<T>
- Parameters:
beanState
- the bean state.- Returns:
- a list of classes representing the default group sequence.
-
getDefaultValidationSequence
Description copied from interface:BeanMetaData
Returns an iterator over the default validation group sequence as configured through@GroupSequence
/@DefaultGroupSequenceProvider
. If this bean type does not re-declare the default validation group sequence,ValidationOrder.DEFAULT_SEQUENCE
will be returned.- Specified by:
getDefaultValidationSequence
in interfaceBeanMetaData<T>
-
isDefaultGroupSequenceRedefined
public boolean isDefaultGroupSequenceRedefined()- Specified by:
isDefaultGroupSequenceRedefined
in interfaceBeanMetaData<T>
- Returns:
true
if the entity redefines the default group sequence,false
otherwise.
-
getClassHierarchy
- Specified by:
getClassHierarchy
in interfaceBeanMetaData<T>
- Returns:
- Returns a list of classes representing the class hierarchy for the entity. The list start with the element itself and goes up the hierarchy chain. Interfaces are not included.
-
toString
-