Class DisableableValidator<A extends Annotation,T>

java.lang.Object
dev.learning.xapi.model.validation.disableable.DisableableValidator<A,T>
All Implemented Interfaces:
jakarta.validation.ConstraintValidator<A,T>
Direct Known Subclasses:
ActivityDefinitionValidator, ActorValidator, AuthorityValidator, HasSchemeValidatorForUri, MboxValidator, NotUndeterminedValidator, ScaledScoreValidator, ScoreValidator, StatementPlatformValidator, StatementRevisionValidator, StatementsValidator, StatementVerbValidator, VariantValidatorForUuid

public abstract class DisableableValidator<A extends Annotation,T> extends Object implements jakarta.validation.ConstraintValidator<A,T>

Abstract superclass for disableable validators.

Validators extending this class are enabled by default. ValidatorDisabler.DEFAULT_DISABLER can be used for completely disable a validator, or a custom ValidatorDisabler bean can be injected for enabling/disabling a validator based on a custom logic.
Author:
István Rátkai (Selindek)
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Whether this validator is disabled.
    boolean
    isValid(T value, jakarta.validation.ConstraintValidatorContext context)
     
    protected boolean
    isValidIfEnabled(T value, jakarta.validation.ConstraintValidatorContext context)
    Convenient method for implementing the validation logic independently from the disabled/enabled logic.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface jakarta.validation.ConstraintValidator

    initialize
  • Constructor Details

    • DisableableValidator

      public DisableableValidator()
  • Method Details

    • isValid

      public boolean isValid(T value, jakarta.validation.ConstraintValidatorContext context)
      Specified by:
      isValid in interface jakarta.validation.ConstraintValidator<A extends Annotation,T>
    • isValidIfEnabled

      protected boolean isValidIfEnabled(T value, jakarta.validation.ConstraintValidatorContext context)

      Convenient method for implementing the validation logic independently from the disabled/enabled logic.

      If some more complex validation logic is needed (eg. some partial validation is needed even if the validator is disabled), then the isDisabled() method can be used directly from the ConstraintValidator.isValid(Object, ConstraintValidatorContext) method.
      Parameters:
      value - object to validate
      context - context in which the constraint is evaluated
      Returns:
      false if value does not pass the constraint
    • isDisabled

      public boolean isDisabled()
      Whether this validator is disabled.