Top Description Methods
org.hibernate.validator.internal.metadata.aggregated

public Interface CascadingMetaData

Known Direct Implementers
org.hibernate.validator.internal.metadata.aggregated.ContainerCascadingMetaData, org.hibernate.validator.internal.metadata.aggregated.NonContainerCascadingMetaData, org.hibernate.validator.internal.metadata.aggregated.PotentiallyContainerCascadingMetaData
Imports
java.lang.reflect.TypeVariable, java.util.Set, jakarta.validation.metadata.GroupConversionDescriptor, jakarta.validation.valueextraction.ValueExtractor, org.hibernate.validator.internal.engine.valueextraction.AnnotatedObject, .ArrayElement, .ValueExtractorManager

An aggregated view of the cascading validation metadata. Note that it also includes the cascading validation metadata defined on the root element via the ArrayElement and AnnotatedObject pseudo type parameters.

To reduce the memory footprint, CascadingMetaData comes in 2 variants:

Author
Guillaume Smet

Method Summary

Modifier and TypeMethod and Description
public 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.
public <T extends CascadingMetaData> T
as(Class<T> clazz)

public Class<?>
convertGroup(Class<?> originalGroup)

public Set<GroupConversionDescriptor>
public TypeVariable<?>
public boolean
public boolean
public boolean

Method Detail

addRuntimeContainerSupportback to summary
public 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.

asback to summary
public <T extends CascadingMetaData> T as(Class<T> clazz)
convertGroupback to summary
public Class<?> convertGroup(Class<?> originalGroup)
getGroupConversionDescriptorsback to summary
public Set<GroupConversionDescriptor> getGroupConversionDescriptors()
getTypeParameterback to summary
public TypeVariable<?> getTypeParameter()
isCascadingback to summary
public boolean isCascading()
isContainerback to summary
public boolean isContainer()
isMarkedForCascadingOnAnnotatedObjectOrContainerElementsback to summary
public boolean isMarkedForCascadingOnAnnotatedObjectOrContainerElements()