Class NumberRangeValidatorImpl
java.lang.Object
ch.tocco.nice2.validate.api.validators.AbstractValidator
ch.tocco.nice2.validate.api.validators.NumberRangeValidatorImpl
- All Implemented Interfaces:
NumberRangeValidator
,Validator
,ValueValidator
,Cloneable
-
Nested Class Summary
Nested classes/interfaces inherited from interface ch.tocco.nice2.validate.api.validators.Validator
Validator.MergeMode
-
Field Summary
Fields inherited from class ch.tocco.nice2.validate.api.validators.AbstractValidator
doContinue, level, name, negate, runOn
-
Constructor Summary
ConstructorDescriptionNumberRangeValidatorImpl
(@Nullable Double fromIncluding, @Nullable Double toIncluding) -
Method Summary
Modifier and TypeMethodDescriptionprotected FieldValidationResult
void
calculateAndSetLowerBound
(BiPredicate<Double, Double> comparator, @Nullable Number bound, boolean newIsInclusive) void
calculateAndSetUpperBound
(BiPredicate<Double, Double> comparator, @Nullable Number bound, boolean newIsInclusive) boolean
Tells if the constraint data of this validator can be merged with another instance.clone()
Returns the number range's min value, or null if none specified.Class
<? extends ValueValidator> getType()
Returns the number range's max value, or null if none specified.protected boolean
If subclass overwrites and returns true then the validate() method won't do it anymore.boolean
boolean
boolean
mergeConstraints
(Validator validator, Validator.MergeMode mode) Default implementation so that subclasses are only forced to override canMergeConstraints().void
setup
(@Nullable Double lowerBound, boolean includeLowerBound, @Nullable Double upperBound, boolean includeUpperBound) Methods inherited from class ch.tocco.nice2.validate.api.validators.AbstractValidator
doContinueOnFailure, doNegate, getErrorStatusByLevel, getLevel, getName, getRunOn, hasName, isEmptySoIgnore, negateResultIfNeeded, setContinue, setLevel, setName, setNegate, setRunOn, validate
-
Constructor Details
-
NumberRangeValidatorImpl
public NumberRangeValidatorImpl() -
NumberRangeValidatorImpl
-
-
Method Details
-
setup
public void setup(@Nullable @Nullable Double lowerBound, boolean includeLowerBound, @Nullable @Nullable Double upperBound, boolean includeUpperBound) - Specified by:
setup
in interfaceNumberRangeValidator
-
getLowerBound
Description copied from interface:NumberRangeValidator
Returns the number range's min value, or null if none specified.- Specified by:
getLowerBound
in interfaceNumberRangeValidator
-
isIncludeLowerBound
public boolean isIncludeLowerBound() -
getUpperBound
Description copied from interface:NumberRangeValidator
Returns the number range's max value, or null if none specified.- Specified by:
getUpperBound
in interfaceNumberRangeValidator
-
isIncludeUpperBound
public boolean isIncludeUpperBound() -
_validate
protected FieldValidationResult _validate(Object value, Map<String, Object> fields) throws IllegalArgumentException- Specified by:
_validate
in classAbstractValidator
- Throws:
IllegalArgumentException
-
iNegateMyself
protected boolean iNegateMyself()Description copied from class:AbstractValidator
If subclass overwrites and returns true then the validate() method won't do it anymore. That's preferred for implementing validators (not groups).- Overrides:
iNegateMyself
in classAbstractValidator
- See Also:
-
canMergeConstraints
public boolean canMergeConstraints()Description copied from interface:Validator
Tells if the constraint data of this validator can be merged with another instance.This is validator-type specific. For example a date range validator can, a regex validator obviously cannot.
- Specified by:
canMergeConstraints
in interfaceValidator
- See Also:
-
mergeConstraints
Description copied from class:AbstractValidator
Default implementation so that subclasses are only forced to override canMergeConstraints().- Specified by:
mergeConstraints
in interfaceValidator
- Overrides:
mergeConstraints
in classAbstractValidator
- Parameters:
validator
- The validator to merge in.mode
- How to merge.- Returns:
true
if it was done. This should only fail if canMergeConstraints() says false.- See Also:
-
calculateAndSetLowerBound
public void calculateAndSetLowerBound(BiPredicate<Double, Double> comparator, @Nullable @Nullable Number bound, boolean newIsInclusive) -
calculateAndSetUpperBound
public void calculateAndSetUpperBound(BiPredicate<Double, Double> comparator, @Nullable @Nullable Number bound, boolean newIsInclusive) -
getType
-
clone
- Specified by:
clone
in interfaceValidator
- Overrides:
clone
in classAbstractValidator
- Throws:
CloneNotSupportedException
-