javax.validation.metadata

## Interface BeanDescriptor

- All Superinterfaces:
    ElementDescriptor

      public interface BeanDescriptor
      extends ElementDescriptor

  Describes a constrained Java Bean and the constraints associated to it. All objects returned by the methods of this descriptor (and associated objects including `ConstraintDescriptor`s) are immutable.
  Author:
    Emmanuel Bernard, Gunnar Morling

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface javax.validation.metadata.ElementDescriptor

      `ElementDescriptor.ConstraintFinder`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Set<ConstructorDescriptor>` | `getConstrainedConstructors()` Returns a set with descriptors for the constrained constructors of the bean represented by this descriptor.
    `Set<MethodDescriptor>` | `getConstrainedMethods(MethodType methodType, MethodType... methodTypes)` Returns a set with descriptors for the constrained methods of the bean represented by this descriptor.
    `Set<PropertyDescriptor>` | `getConstrainedProperties()` Returns a set of property descriptors having at least one constraint defined or marked as cascaded (`Valid`).
    `ConstructorDescriptor` | `getConstraintsForConstructor(Class<?>... parameterTypes)` Returns a constructor descriptor for the given constructor.
    `MethodDescriptor` | `getConstraintsForMethod(String methodName, Class<?>... parameterTypes)` Returns a method descriptor for the given method.
    `PropertyDescriptor` | `getConstraintsForProperty(String propertyName)` Returns the property descriptor for a given property.
    `boolean` | `isBeanConstrained()` Returns `true` if the bean involves validation: a constraint is hosted on the bean itself a constraint is hosted on one of the bean properties or a bean property is marked for cascaded validation (`Valid`) Constrained methods and constructors are ignored.

    - ### Methods inherited from interface javax.validation.metadata.ElementDescriptor

      `findConstraints, getConstraintDescriptors, getElementClass, hasConstraints`

- - ### Method Detail

    - #### isBeanConstrained

          boolean isBeanConstrained()

      Returns `true` if the bean involves validation:
      - a constraint is hosted on the bean itself
      - a constraint is hosted on one of the bean properties
      - or a bean property is marked for cascaded validation (`Valid`)

      Constrained methods and constructors are ignored.
      Returns:
        `true` if the bean involves validation, `false` otherwise

    - #### getConstraintsForProperty

          PropertyDescriptor getConstraintsForProperty(String propertyName)

      Returns the property descriptor for a given property.

      Returns `null` if the property does not exist or has no constraint nor is marked as cascaded (see `getConstrainedProperties()`) Properties of super types are considered.
      Parameters:
        `propertyName` - property evaluated
      Returns:
        the property descriptor for a given property
      Throws:
        `IllegalArgumentException` - if `propertyName` is `null`

    - #### getConstrainedProperties

          Set<PropertyDescriptor> getConstrainedProperties()

      Returns a set of property descriptors having at least one constraint defined or marked as cascaded (`Valid`).

      If not property matches, an empty set is returned. Properties of super types are considered.
      Returns:
        the set of `PropertyDescriptor`s for the constraint properties; if there are no constraint properties, the empty set is returned

    - #### getConstraintsForMethod

          MethodDescriptor getConstraintsForMethod(String methodName,
                                                 Class<?>... parameterTypes)

      Returns a method descriptor for the given method.

      Returns `null` if no method with the given name and parameter types exists or the specified method neither has parameter or return value constraints nor a parameter or return value marked for cascaded validation. Methods of super types are considered.
      Parameters:
        `methodName` - the name of the method
        `parameterTypes` - the parameter types of the method
      Returns:
        a method descriptor for the given method
      Throws:
        `IllegalArgumentException` - if `methodName` is `null`
      Since:
        1.1

    - #### getConstrainedMethods

          Set<MethodDescriptor> getConstrainedMethods(MethodType methodType,
                                                    MethodType... methodTypes)

      Returns a set with descriptors for the constrained methods of the bean represented by this descriptor.

      Constrained methods have at least one parameter or return value constraint or at least one parameter or return value marked for cascaded validation. Methods of super types are considered.

      Only methods matching the given method type(s) are considered.
      Parameters:
        `methodType` - method type to consider
        `methodTypes` - remaining optional method types to consider
      Returns:
        a set with descriptors for the constrained methods of this bean; will be empty if this bean has no constrained methods of the considered method type(s) but never `null`
      Since:
        1.1

    - #### getConstraintsForConstructor

          ConstructorDescriptor getConstraintsForConstructor(Class<?>... parameterTypes)

      Returns a constructor descriptor for the given constructor.

      Returns `null` if no constructor with the given parameter types exists or the specified constructor neither has parameter or return value constraints nor a parameter or return value marked for cascaded validation. Constructor of super types are considered.
      Parameters:
        `parameterTypes` - the parameter types of the constructor
      Returns:
        a constructor descriptor for the given constructor
      Since:
        1.1

    - #### getConstrainedConstructors

          Set<ConstructorDescriptor> getConstrainedConstructors()

      Returns a set with descriptors for the constrained constructors of the bean represented by this descriptor.

      Constrained constructors have at least one parameter or return value constraint or at least one parameter or return value marked for cascaded validation.
      Returns:
        a set with descriptors for the constrained constructor of this bean; will be empty if this bea has no constrained constructor but never `null`
      Since:
        1.1

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.