Package org.keycloak.validate
Class AbstractSimpleValidator
- java.lang.Object
- 
- org.keycloak.validate.AbstractSimpleValidator
 
- 
- All Implemented Interfaces:
- Provider,- ProviderFactory<Validator>,- SimpleValidator,- Validator,- ValidatorFactory
 - Direct Known Subclasses:
- AbstractNumberValidator,- AbstractStringValidator
 
 public abstract class AbstractSimpleValidator extends Object implements SimpleValidator Base class for arbitrary value type validators. Functionality covered in this base class:- accepts supported type, collection of supported type.
- behavior around null and empty values is controlled by IGNORE_EMPTY_VALUEconfiguration option which is boolean. Error should be produced for them by default, but they should be ignored if that option istrue. Logic must be implemented inskipValidation(Object, ValidatorConfig).
 - Author:
- Vlastimil Elias 
 
- 
- 
Field SummaryFields Modifier and Type Field Description static StringIGNORE_EMPTY_VALUEConfig option which allows to switch validator to ignore null, empty string and even blank string value - not to produce error for them.
 - 
Constructor SummaryConstructors Constructor Description AbstractSimpleValidator()
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voiddoValidate(Object value, String inputHint, ValidationContext context, ValidatorConfig config)Validate type, format, range of the value etc.protected booleanisIgnoreEmptyValuesConfigured(ValidatorConfig config)Default implementation only looks forIGNORE_EMPTY_VALUEconfiguration option.protected abstract booleanskipValidation(Object value, ValidatorConfig config)Decide if validation of individual value should be skipped or not.ValidationContextvalidate(Object input, String inputHint, ValidationContext context, ValidatorConfig config)Validates the giveninputwith an additionalinputHintandconfig.- 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface org.keycloak.provider.ProviderFactorygetConfigMetadata, getId, order
 - 
Methods inherited from interface org.keycloak.validate.SimpleValidatorclose, create, init, postInit
 - 
Methods inherited from interface org.keycloak.validate.Validatorvalidate, validate, validate, validate, validate, validate
 - 
Methods inherited from interface org.keycloak.validate.ValidatorFactoryvalidateConfig
 
- 
 
- 
- 
- 
Field Detail- 
IGNORE_EMPTY_VALUEpublic static final String IGNORE_EMPTY_VALUE Config option which allows to switch validator to ignore null, empty string and even blank string value - not to produce error for them. Used eg. in UserProfile where we have optional attributes and required concern is checked by separate validators.- See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
validatepublic ValidationContext validate(Object input, String inputHint, ValidationContext context, ValidatorConfig config) Description copied from interface:ValidatorValidates the giveninputwith an additionalinputHintandconfig.
 - 
doValidateprotected abstract void doValidate(Object value, String inputHint, ValidationContext context, ValidatorConfig config) Validate type, format, range of the value etc. Always useValidationContext.addError(ValidationError)to report error to the user! Can be called multiple time for one validation if input is Collection.- Parameters:
- value- to be validated, never null
- inputHint-
- context- for the validation. Add errors into it.
- config- of the validation if provided
- See Also:
- skipValidation(Object, ValidatorConfig)
 
 - 
skipValidationprotected abstract boolean skipValidation(Object value, ValidatorConfig config) Decide if validation of individual value should be skipped or not. It should be controlled byIGNORE_EMPTY_VALUEconfiguration option, seeisIgnoreEmptyValuesConfigured(ValidatorConfig).- Parameters:
- value- currently validated we make decision for
- config- to look for options in
- Returns:
- true if validation should be skipped for this value -
         doValidate(Object, String, ValidationContext, ValidatorConfig)is not called in this case.
- See Also:
- doValidate(Object, String, ValidationContext, ValidatorConfig)
 
 - 
isIgnoreEmptyValuesConfiguredprotected boolean isIgnoreEmptyValuesConfigured(ValidatorConfig config) Default implementation only looks forIGNORE_EMPTY_VALUEconfiguration option.- Parameters:
- config- to get option from
- Returns:
 
 
- 
 
-