Interface BeanMetaDataClassNormalizer

All Known Implementing Classes:
DefaultBeanMetaDataClassNormalizer

@Incubating public interface BeanMetaDataClassNormalizer
Define how the validated class is normalized before being used as the key to get the bean metadata.

In the case of the predefined scope validator factory, we have to register all the classes that will ever be validated. To validate method calls, frameworks usually generate proxies to intercept the calls. Such proxies might be hard to register in the predefined scope validator factory as they are generated code.

This contract allows to normalize the class before obtaining the metadata from the PredefinedScopeBeanMetaDataManager so that we only have to register the original bean class and not the proxy class.

Apart from avoiding the need to register the class, it also avoids generating unnecessary metadata for the proxy classes.

Since:
6.1
Author:
Guillaume Smet
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> Class<? super T>
    normalize(Class<T> beanClass)
    Normalizes the provided class as the key used to get the bean metadata from the PredefinedScopeBeanMetaDataManager.
  • Method Details

    • normalize

      <T> Class<? super T> normalize(Class<T> beanClass)
      Normalizes the provided class as the key used to get the bean metadata from the PredefinedScopeBeanMetaDataManager.
      Parameters:
      beanClass - the original bean class
      Returns:
      the normalized class