Interface CascadingMetaData

All Known Implementing Classes:
ContainerCascadingMetaData, NonContainerCascadingMetaData, PotentiallyContainerCascadingMetaData

public interface CascadingMetaData
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 Details

    • getTypeParameter

      TypeVariable<?> getTypeParameter()
    • isCascading

      boolean isCascading()
    • isMarkedForCascadingOnAnnotatedObjectOrContainerElements

      boolean isMarkedForCascadingOnAnnotatedObjectOrContainerElements()
    • convertGroup

      Class<?> convertGroup(Class<?> originalGroup)
    • 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.