Class ExecutableMetaData

java.lang.Object
org.hibernate.validator.internal.metadata.aggregated.AbstractConstraintMetaData
org.hibernate.validator.internal.metadata.aggregated.ExecutableMetaData
All Implemented Interfaces:
Iterable<MetaConstraint<?>>, ConstraintMetaData

public class ExecutableMetaData extends AbstractConstraintMetaData
An aggregated view of the constraint related meta data for a given method or constructors and in (case of methods) all the methods in the inheritance hierarchy which it overrides or implements.

Instances are retrieved by creating a ExecutableMetaData.Builder and adding all required ConstrainedExecutable objects to it. Instances are read-only after creation.

Identity is solely based on the method's name and parameter types, hence sets and similar collections of this type may only be created in the scope of one Java type.

Author:
Gunnar Morling
  • Method Details

    • getParameterMetaData

      public ParameterMetaData getParameterMetaData(int parameterIndex)
      Returns meta data for the specified parameter of the represented executable.
      Parameters:
      parameterIndex - the index of the parameter
      Returns:
      Meta data for the specified parameter. Will never be null.
    • getParameterTypes

      public Class<?>[] getParameterTypes()
    • getSignatures

      public Set<Signature> getSignatures()
      Returns the signature(s) of the method represented by this meta data object, based on the represented executable's name and its parameter types.
      Returns:
      The signatures of this meta data object. Will only contain more than one element in case the represented method represents a sub-type method overriding a super-type method using a generic type parameter in its parameters.
    • getCrossParameterConstraints

      public Set<MetaConstraint<?>> getCrossParameterConstraints()
      Returns the cross-parameter constraints declared for the represented method or constructor.
      Returns:
      the cross-parameter constraints declared for the represented method or constructor. May be empty but will never be null.
    • getValidatableParametersMetaData

      public ValidatableParametersMetaData getValidatableParametersMetaData()
    • getReturnValueMetaData

      public ReturnValueMetaData getReturnValueMetaData()
    • asDescriptor

      public ExecutableDescriptorImpl asDescriptor(boolean defaultGroupSequenceRedefined, List<Class<?>> defaultGroupSequence)
      Description copied from interface: ConstraintMetaData
      Returns this meta data object's corresponding representation in the descriptor model.
      Parameters:
      defaultGroupSequenceRedefined - Whether the bean hosting the represented element has a redefined default group sequence or not.
      defaultGroupSequence - The default group sequence of the bean hosting the represented element.
      Returns:
      This meta data object's corresponding descriptor model representation. Implementations should return a specific sub type of ElementDescriptor.
    • getKind

      public ElementKind getKind()
      Description copied from interface: ConstraintMetaData
      Returns the kind of this meta data object.
      Returns:
      The kind of this meta data object.
    • toString

      public String toString()
      Overrides:
      toString in class AbstractConstraintMetaData
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class AbstractConstraintMetaData
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class AbstractConstraintMetaData