Interface CascadingMetaData
-
- All Known Implementing Classes:
ContainerCascadingMetaData,NonContainerCascadingMetaData,PotentiallyContainerCascadingMetaData
public interface CascadingMetaDataAn aggregated view of the cascading validation metadata. Note that it also includes the cascading validation metadata defined on the root element via theArrayElementandAnnotatedObjectpseudo type parameters.To reduce the memory footprint,
CascadingMetaDatacomes in 2 variants:NonContainerCascadingMetaDatadedicated to non containers: it is very lightweight;ContainerCascadingMetaDataused for containers: it is the full featured version.
- Author:
- Guillaume Smet
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CascadingMetaDataaddRuntimeContainerSupport(ValueExtractorManager valueExtractorManager, Class<?> valueClass)Add additional cascading metadata when: the element is marked with@Valid, the runtime type of the element is container based (e.g.<T extends CascadingMetaData>
Tas(Class<T> clazz)Class<?>convertGroup(Class<?> originalGroup)Set<GroupConversionDescriptor>getGroupConversionDescriptors()TypeVariable<?>getTypeParameter()booleanisCascading()booleanisContainer()booleanisMarkedForCascadingOnAnnotatedObjectOrContainerElements()
-
-
-
Method Detail
-
getTypeParameter
TypeVariable<?> getTypeParameter()
-
isCascading
boolean isCascading()
-
isMarkedForCascadingOnAnnotatedObjectOrContainerElements
boolean isMarkedForCascadingOnAnnotatedObjectOrContainerElements()
-
getGroupConversionDescriptors
Set<GroupConversionDescriptor> getGroupConversionDescriptors()
-
isContainer
boolean isContainer()
-
as
<T extends CascadingMetaData> T as(Class<T> clazz)
-
addRuntimeContainerSupport
CascadingMetaData addRuntimeContainerSupport(ValueExtractorManager valueExtractorManager, Class<?> valueClass)
Add additional cascading metadata when:- the element is marked with
@Valid, - the runtime type of the element is container based (e.g. collections, maps or arrays),
- and there are
ValueExtractors present for such container, - and the declared type isn't container based.
An example of this particular situation is:
@Valid private Object element = new ArrayList<String>().Note that if the declared type is container based, the cascading information is directly included at bootstrap time.
- the element is marked with
-
-