Class GroupSequenceProviderCheck

java.lang.Object
org.hibernate.validator.ap.internal.checks.AbstractConstraintCheck
org.hibernate.validator.ap.internal.checks.GroupSequenceProviderCheck
All Implemented Interfaces:
ConstraintCheck

public class GroupSequenceProviderCheck extends AbstractConstraintCheck
Checks that the GroupSequenceProvider annotation definition is valid.
This check ensure that :
  • The annotation is not defined on an interface.
  • The annotation defines an implementation class of DefaultGroupSequenceProvider, not an interface or an abstract class.
  • The annotation defines a class with a public default constructor.
  • The annotation defines a default group sequence provider class for a (super-)type of the annotated class.
  • The class hosting the annotation is not already annotated with GroupSequence.
Author:
Kevin Pollet <kevin.pollet@serli.com> (C) 2011 SERLI
  • Constructor Details

    • GroupSequenceProviderCheck

      public GroupSequenceProviderCheck(AnnotationApiHelper annotationApiHelper, Types typeUtils)
  • Method Details

    • checkNonAnnotationType

      public Set<ConstraintCheckIssue> checkNonAnnotationType(TypeElement element, AnnotationMirror annotation)
      Description copied from interface: ConstraintCheck
      Checks, whether the given annotation is allowed at the given type declaration (class, interface, enum).
      Specified by:
      checkNonAnnotationType in interface ConstraintCheck
      Overrides:
      checkNonAnnotationType in class AbstractConstraintCheck
      Parameters:
      element - An annotated type declaration.
      annotation - An annotation at that type.
      Returns:
      A set with errors, that describe, why the given annotation is not allowed at the given element. In case no errors occur (the given annotation is allowed at the given element), an empty set must be returned.