Package org.keycloak.validate.validators
Class AbstractNumberValidator
java.lang.Object
org.keycloak.validate.AbstractSimpleValidator
org.keycloak.validate.validators.AbstractNumberValidator
- All Implemented Interfaces:
ConfiguredProvider
,Provider
,ProviderFactory<Validator>
,SimpleValidator
,Validator
,ValidatorFactory
- Direct Known Subclasses:
DoubleValidator
,IntegerValidator
public abstract class AbstractNumberValidator
extends AbstractSimpleValidator
implements ConfiguredProvider
Abstract class for number validator. Supports min and max value validations using
KEY_MIN
and
KEY_MAX
config options.- Author:
- Vlastimil Elias <[email protected]>
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final List<ProviderConfigProperty>
static final String
static final String
static final String
static final String
static final String
static final String
Fields inherited from class org.keycloak.validate.AbstractSimpleValidator
IGNORE_EMPTY_VALUE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract Number
convert
(Object value, ValidatorConfig config) Convert input value to instance of Number supported by this validator.protected void
doValidate
(Object value, String inputHint, ValidationContext context, ValidatorConfig config) protected abstract Number
getMinMaxConfig
(ValidatorConfig config, String key) Get config value for min and max validation bound as a Number supported by this validatorprotected abstract boolean
isFirstGreaterThanToSecond
(Number n1, Number n2) Compare two numbers of supported type (fed byconvert(Object, ValidatorConfig)
andgetMinMaxConfig(ValidatorConfig, String)
)protected String
Select error message depending on the allowed range interval bound configuration.protected boolean
skipValidation
(Object value, ValidatorConfig config) validateConfig
(KeycloakSession session, ValidatorConfig config) Methods inherited from class org.keycloak.validate.AbstractSimpleValidator
isIgnoreEmptyValuesConfigured, validate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.keycloak.provider.ConfiguredProvider
getConfig, getHelpText
Methods inherited from interface org.keycloak.provider.ProviderFactory
getConfigMetadata, getId, order
Methods inherited from interface org.keycloak.validate.SimpleValidator
close, create, init, postInit
-
Field Details
-
MESSAGE_INVALID_NUMBER
- See Also:
-
MESSAGE_NUMBER_OUT_OF_RANGE
- See Also:
-
MESSAGE_NUMBER_OUT_OF_RANGE_TOO_SMALL
- See Also:
-
MESSAGE_NUMBER_OUT_OF_RANGE_TOO_BIG
- See Also:
-
KEY_MIN
- See Also:
-
KEY_MAX
- See Also:
-
configProperties
-
-
Constructor Details
-
AbstractNumberValidator
public AbstractNumberValidator() -
AbstractNumberValidator
-
-
Method Details
-
getConfigProperties
- Specified by:
getConfigProperties
in interfaceConfiguredProvider
-
skipValidation
- Specified by:
skipValidation
in classAbstractSimpleValidator
-
doValidate
protected void doValidate(Object value, String inputHint, ValidationContext context, ValidatorConfig config) - Specified by:
doValidate
in classAbstractSimpleValidator
-
selectRangeErrorMessage
Select error message depending on the allowed range interval bound configuration. -
validateConfig
- Specified by:
validateConfig
in interfaceValidatorFactory
-
convert
Convert input value to instance of Number supported by this validator.- Parameters:
value
- to convertconfig
-- Returns:
- value converted to supported Number instance
- Throws:
NumberFormatException
- if value is not convertible to supported Number instance soMESSAGE_INVALID_NUMBER
error is reported.
-
getMinMaxConfig
Get config value for min and max validation bound as a Number supported by this validator- Parameters:
config
- to get fromkey
- of the config value- Returns:
- bound value or null
-
isFirstGreaterThanToSecond
Compare two numbers of supported type (fed byconvert(Object, ValidatorConfig)
andgetMinMaxConfig(ValidatorConfig, String)
)- Parameters:
n1
-n2
-- Returns:
- true if first number is greater than second
-