Class LongStringValidator

java.lang.Object
jp.ecuacion.lib.core.jakartavalidation.validator.LongStringValidator
All Implemented Interfaces:
jakarta.validation.ConstraintValidator<LongString, String>

public class LongStringValidator extends Object implements jakarta.validation.ConstraintValidator<LongString, String>
Provides the validation logic for LongString.
  • Constructor Details

    • LongStringValidator

      public LongStringValidator()
      Constructs a new instance.
  • Method Details

    • initialize

      public void initialize(LongString constraintAnnotation)
      Initializes an instance.
      Specified by:
      initialize in interface jakarta.validation.ConstraintValidator<LongString, String>
    • isValid

      public boolean isValid(String value, jakarta.validation.ConstraintValidatorContext context)
      Checks if a string is convertible to Long.

      a string is valid if the value is blank or Long.valueOf() does not throw exception.

      comma-separated value is acceptable. This validator removes comma before check. This does not check the positions of the commas are correct.

      Valid strings are: "123", "123,456", "12,3,4,56"

      null is valid following to the specification of Jakarta EE.

      empty ("") is also valid.
      Blank is allowed because it's supposed to be used for fields in record, which accepts values from external. HTML (and maybe others) cannot tell difference between blank and null for number values. Otherwise we also want the information whether the empty value is submitted (=blank) or not (=null).

      Specified by:
      isValid in interface jakarta.validation.ConstraintValidator<LongString, String>