Interface BeanMetaData<T>

All Superinterfaces:
Validatable
All Known Implementing Classes:
BeanMetaDataImpl

public interface BeanMetaData<T> extends Validatable
Interface defining the meta data about the constraints defined in a given bean.
Author:
Hardy Ferentschik, Gunnar Morling, Guillaume Smet
  • Method Details

    • getBeanClass

      Class<T> getBeanClass()
      Returns:
      the class of the bean.
    • hasConstraints

      boolean hasConstraints()
      Returns true if the bean class for this bean meta data has any constraints at all, false otherwise.
      Returns:
      true if the bean class for this bean meta data has any constraints at all, false otherwise.
    • getBeanDescriptor

      BeanDescriptor getBeanDescriptor()
      Returns:
      an instance of ElementDescriptor describing the bean this meta data applies for.
    • getMetaDataFor

      PropertyMetaData getMetaDataFor(String propertyName)
      Returns constraint-related meta data for the given property of this bean.
      Parameters:
      propertyName - The property name.
      Returns:
      Constraint-related meta data.
      Throws:
      IllegalArgumentException - In case no property with the given name exists.
    • getDefaultGroupSequence

      List<Class<?>> getDefaultGroupSequence(T beanState)
      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.

      Parameters:
      beanState - the bean state.
      Returns:
      a list of classes representing the default group sequence.
    • getDefaultValidationSequence

      Iterator<Sequence> getDefaultValidationSequence(T beanState)
      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.
    • isDefaultGroupSequenceRedefined

      boolean isDefaultGroupSequenceRedefined()
      Returns:
      true if the entity redefines the default group sequence, false otherwise.
    • getMetaConstraints

      Set<MetaConstraint<?>> getMetaConstraints()
      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

      Set<MetaConstraint<?>> getDirectMetaConstraints()
      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

      Optional<ExecutableMetaData> getMetaDataFor(Executable executable) throws IllegalArgumentException
      Returns the constraint-related metadata for the given executable of the class represented by this bean metadata.
      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.
      Throws:
      IllegalArgumentException - In case the method cannot be found in the bean.
    • getClassHierarchy

      List<Class<? super T>> getClassHierarchy()
      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.