Class DefaultJakartaValidator

java.lang.Object
io.fluxzero.sdk.tracking.handling.validation.jakarta.DefaultJakartaValidator
All Implemented Interfaces:
Validator
Direct Known Subclasses:
DefaultValidator

public class DefaultJakartaValidator extends Object implements Validator
Default reflection based Jakarta Validation implementation used by the SDK.

This class lives in the Jakarta implementation package; the public SDK entry point remains DefaultValidator.

When validation runs while a DeserializingMessage is current, constrained payload methods may declare parameters resolved by the active Fluxzero ParameterResolvers. Methods whose parameters cannot be resolved are ignored for that validation run.

  • Constructor Details

    • DefaultJakartaValidator

      protected DefaultJakartaValidator()
      Creates a validator that uses the current Fluxzero clock for temporal constraints.
    • DefaultJakartaValidator

      protected DefaultJakartaValidator(Clock clock)
      Creates a validator that uses the supplied clock for temporal constraints such as @Past and @Future.
      Parameters:
      clock - the clock to use while validating temporal constraints
    • DefaultJakartaValidator

      protected DefaultJakartaValidator(jakarta.validation.ClockProvider clockProvider)
      Creates a validator that obtains its clock from the supplied Jakarta ClockProvider.
      Parameters:
      clockProvider - provider used for temporal constraints
  • Method Details

    • checkValidity

      public <T> Optional<ValidationException> checkValidity(T object, Class<?>... groups)
      Validates a bean instance using Jakarta validation annotations. If a message is currently being handled, method constraints with parameters are invoked with arguments resolved from the active Fluxzero configuration.
      Specified by:
      checkValidity in interface Validator
      Type Parameters:
      T - object type
      Parameters:
      object - the object to validate
      groups - optional validation groups
      Returns:
      an optional validation exception when constraints fail
    • getConstraintViolations

      public <T> Set<ConstraintViolation<T>> getConstraintViolations(T object, Class<?>... groups)
      Validates a bean instance and returns raw constraint violations.

      This method mirrors Jakarta Validator's raw validation style: it returns structured violations and does not suppress exceptions from getter validation after field constraints have failed.

      Specified by:
      getConstraintViolations in interface Validator
      Type Parameters:
      T - object type
      Parameters:
      object - the object to validate
      groups - optional validation groups
      Returns:
      raw constraint violations, including property paths and descriptors
    • checkParameterValidity

      public Optional<ValidationException> checkParameterValidity(@Nullable Object target, Executable executable, Object[] arguments)
      Validates method or constructor arguments against executable parameter constraints.
      Specified by:
      checkParameterValidity in interface Validator
      Parameters:
      target - target instance for methods, or null for constructors/static methods
      executable - the method or constructor declaring the constraints
      arguments - argument values in declaration order
      Returns:
      an optional validation exception when constraints fail
    • hasReturnValueValidation

      public boolean hasReturnValueValidation(Executable executable)
      Returns whether the executable declares return value constraints or cascaded return value validation.
      Specified by:
      hasReturnValueValidation in interface Validator
      Parameters:
      executable - the executable to inspect
      Returns:
      true when return value validation should run
    • checkReturnValueValidity

      public Optional<ValidationException> checkReturnValueValidity(@Nullable Object target, Executable executable, @Nullable Object returnValue)
      Validates a method or constructor return value against return value constraints.
      Specified by:
      checkReturnValueValidity in interface Validator
      Parameters:
      target - target instance for methods, or null for constructors/static methods
      executable - the executable that produced the value
      returnValue - returned value
      Returns:
      an optional validation exception when constraints fail
    • newValidationException

      protected ValidationException newValidationException(Collection<? extends jakarta.validation.ConstraintViolation<?>> violations)
    • format

      protected SortedSet<String> format(Collection<? extends jakarta.validation.ConstraintViolation<?>> violations, boolean fullPath)
    • violationSummaries

      protected List<ValidationException.ViolationSummary> violationSummaries(Collection<? extends jakarta.validation.ConstraintViolation<?>> violations)
    • format

      protected static String format(jakarta.validation.ConstraintViolation<?> v, boolean fullPath)
    • getPropertyPath

      protected static String getPropertyPath(jakarta.validation.ConstraintViolation<?> v, boolean full)