Class ValidatorBase<V>

    • Field Detail

      • value

        protected com.networknt.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.networknt.jsonoverlay.Overlay<V> value)
        Specified by:
        validate in interface Validator<V>
      • runValidations

        public abstract void runValidations()
      • validateBooleanField

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public void checkJsonType​(com.networknt.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.networknt.jsonoverlay.Overlay<?> value)