Class ValidatorBase<V>

    • Field Detail

      • value

        protected com.reprezen.jsonoverlay.Overlay<V> value
      • allowedJsonTypes

        protected static Map<Class<?>,​List<Class<? extends com.fasterxml.jackson.databind.JsonNode>>> allowedJsonTypes
    • Constructor Detail

      • ValidatorBase

        public ValidatorBase()
    • Method Detail

      • validate

        public final void validate​(com.reprezen.jsonoverlay.Overlay<V> value)
        Specified by:
        validate in interface Validator<V>
      • runValidations

        public abstract void runValidations()
      • validateBooleanField

        public com.reprezen.jsonoverlay.Overlay<Boolean> validateBooleanField​(String name,
                                                                              boolean required)
      • validateStringField

        public com.reprezen.jsonoverlay.Overlay<String> validateStringField​(String name,
                                                                            boolean required)
      • validateStringField

        public com.reprezen.jsonoverlay.Overlay<String> validateStringField​(String name,
                                                                            boolean required,
                                                                            String pattern)
      • validateStringField

        @SafeVarargs
        public final com.reprezen.jsonoverlay.Overlay<String> validateStringField​(String name,
                                                                                  boolean required,
                                                                                  Pattern pattern,
                                                                                  Consumer<com.reprezen.jsonoverlay.Overlay<String>>... otherChecks)
      • validatePatternField

        public com.reprezen.jsonoverlay.Overlay<String> validatePatternField​(String name,
                                                                             boolean required)
      • validateUrlField

        public com.reprezen.jsonoverlay.Overlay<String> validateUrlField​(String name,
                                                                         boolean required,
                                                                         boolean allowRelative,
                                                                         boolean allowVars)
      • validateUrlField

        public com.reprezen.jsonoverlay.Overlay<String> validateUrlField​(String name,
                                                                         boolean required,
                                                                         boolean allowRelative,
                                                                         boolean allowVars,
                                                                         String pattern)
      • validateUrlField

        public com.reprezen.jsonoverlay.Overlay<String> validateUrlField​(String name,
                                                                         boolean required,
                                                                         boolean allowRelative,
                                                                         boolean allowVars,
                                                                         Pattern pattern)
      • validateEmailField

        public com.reprezen.jsonoverlay.Overlay<String> validateEmailField​(String name,
                                                                           boolean required)
      • validateUrlField

        public com.reprezen.jsonoverlay.Overlay<String> validateUrlField​(String name,
                                                                         boolean required,
                                                                         String pattern)
      • validateEmailField

        public com.reprezen.jsonoverlay.Overlay<String> validateEmailField​(String name,
                                                                           boolean required,
                                                                           Pattern pattern)
      • validatePositiveField

        public com.reprezen.jsonoverlay.Overlay<Number> validatePositiveField​(String name,
                                                                              boolean required)
      • validateNonNegativeField

        public com.reprezen.jsonoverlay.Overlay<Number> validateNonNegativeField​(String name,
                                                                                 boolean required)
      • validateField

        @SafeVarargs
        public final <F> com.reprezen.jsonoverlay.Overlay<F> validateField​(String name,
                                                                           boolean required,
                                                                           Class<F> fieldClass,
                                                                           Validator<F> validator,
                                                                           Consumer<com.reprezen.jsonoverlay.Overlay<F>>... otherChecks)
      • validateListField

        public <X> com.reprezen.jsonoverlay.Overlay<List<X>> validateListField​(String name,
                                                                               boolean nonEmpty,
                                                                               boolean unique,
                                                                               Class<X> itemClass,
                                                                               Validator<X> itemValidator)
      • validateMapField

        public <X> com.reprezen.jsonoverlay.Overlay<Map<String,​X>> validateMapField​(String name,
                                                                                          boolean nonEmpty,
                                                                                          boolean unique,
                                                                                          Class<X> valueClass,
                                                                                          Validator<X> valueValidator)
      • validateFormatField

        public com.reprezen.jsonoverlay.Overlay<String> validateFormatField​(String name,
                                                                            boolean required,
                                                                            String type)
      • checkDefault

        public void checkDefault​(com.reprezen.jsonoverlay.Overlay<?> overlay,
                                 String type)
      • checkJsonType

        public void checkJsonType​(com.reprezen.jsonoverlay.Overlay<?> value,
                                  Collection<Class<? extends com.fasterxml.jackson.databind.JsonNode>> allowedJsonTypes,
                                  ValidationResults results)
      • getAllowedJsonTypes

        protected Collection<Class<? extends com.fasterxml.jackson.databind.JsonNode>> getAllowedJsonTypes​(com.reprezen.jsonoverlay.Overlay<?> value)