Class ValidateParamInterceptor.InnerValidatorImpl

java.lang.Object
io.extact.rms.platform.validate.ValidateParamInterceptor.InnerValidatorImpl
All Implemented Interfaces:
jakarta.validation.Validator
Enclosing class:
ValidateParamInterceptor

@ApplicationScoped public static class ValidateParamInterceptor.InnerValidatorImpl extends Object implements jakarta.validation.Validator
CDIでValidatorをラップしたクラス。 以下の理由からCDI-BeanValidatorインテグレーション機能は使わず独自実装を行い、 CDI-BeanValidatorインテグレーション機能がデフォルトで有効になっている環境でも取得可能なように 限定氏を付けている。
  • JavaEE の"Method validation"は広範に効きすぎなのでOFFにしたい
  • @InjectでValidatorインスタンスを取得するにはHibernateのValidatorExtensionを有効にする必要が あるがJerseyとのvalidate機能も混在してライブラリと機能実態がカオスになる
  • Validatorインスタンスの@Injectによる取得はclassパス上にhibernate-validator-cdi.jarなどがあるか によりポータビリティに難がある
  • Constructor Details

    • InnerValidatorImpl

      public InnerValidatorImpl()
  • Method Details

    • init

      @PostConstruct public void init()
    • validate

      public <T> Set<jakarta.validation.ConstraintViolation<T>> validate(T object, Class<?>... groups)
      Specified by:
      validate in interface jakarta.validation.Validator
    • validateProperty

      public <T> Set<jakarta.validation.ConstraintViolation<T>> validateProperty(T object, String propertyName, Class<?>... groups)
      Specified by:
      validateProperty in interface jakarta.validation.Validator
    • validateValue

      public <T> Set<jakarta.validation.ConstraintViolation<T>> validateValue(Class<T> beanType, String propertyName, Object value, Class<?>... groups)
      Specified by:
      validateValue in interface jakarta.validation.Validator
    • getConstraintsForClass

      public jakarta.validation.metadata.BeanDescriptor getConstraintsForClass(Class<?> clazz)
      Specified by:
      getConstraintsForClass in interface jakarta.validation.Validator
    • unwrap

      public <T> T unwrap(Class<T> type)
      Specified by:
      unwrap in interface jakarta.validation.Validator
    • forExecutables

      public jakarta.validation.executable.ExecutableValidator forExecutables()
      Specified by:
      forExecutables in interface jakarta.validation.Validator