Class IntegerRangeValidator

  • All Implemented Interfaces:
    com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable, RangeValidator<java.lang.Integer>, Validator<java.lang.Integer>

    public class IntegerRangeValidator
    extends AbstractComparableRangeValidator<java.lang.Integer>
    A range validator for integers. The step value is considered relative either to the minimum value, if available, the maximum value, if available, or zero, in that order or priority.
    Author:
    Garret Wilson
    • Constructor Detail

      • IntegerRangeValidator

        public IntegerRangeValidator()
        Default constructor with no value required and a step of one.
      • IntegerRangeValidator

        public IntegerRangeValidator​(boolean valueRequired)
        Value required constructor with a step of one.
        Parameters:
        valueRequired - Whether the value must be non-null in order to be considered valid.
      • IntegerRangeValidator

        public IntegerRangeValidator​(java.lang.Integer maximum)
        Maximum constructor with a minimum value of zero and a step of one.
        Parameters:
        maximum - The maximum value, inclusive, or null if the range has no upper bound.
      • IntegerRangeValidator

        public IntegerRangeValidator​(java.lang.Integer minimum,
                                     java.lang.Integer maximum)
        Minimum and maximum constructor with a step of one.
        Parameters:
        minimum - The minimum value, inclusive, or null if the range has no lower bound.
        maximum - The maximum value, inclusive, or null if the range has no upper bound.
      • IntegerRangeValidator

        public IntegerRangeValidator​(java.lang.Integer minimum,
                                     java.lang.Integer maximum,
                                     java.lang.Integer step)
        Minimum, maximum, and step constructor.
        Parameters:
        minimum - The minimum value, inclusive, or null if the range has no lower bound.
        maximum - The maximum value, inclusive, or null if the range has no upper bound.
        step - The step amount, or null if the range has no increment value specified.
      • IntegerRangeValidator

        public IntegerRangeValidator​(java.lang.Integer maximum,
                                     boolean valueRequired)
        Minimum and value required constructor with a minimum value of zero and a step of one.
        Parameters:
        maximum - The maximum value, inclusive, or null if the range has no upper bound.
        valueRequired - Whether the value must be non-null in order to be considered valid.
      • IntegerRangeValidator

        public IntegerRangeValidator​(java.lang.Integer minimum,
                                     java.lang.Integer maximum,
                                     boolean valueRequired)
        Minimum, maximum, and value required constructor with a step of one.
        Parameters:
        minimum - The minimum value, inclusive, or null if the range has no lower bound.
        maximum - The maximum value, inclusive, or null if the range has no upper bound.
        valueRequired - Whether the value must be non-null in order to be considered valid.
      • IntegerRangeValidator

        public IntegerRangeValidator​(java.lang.Integer minimum,
                                     java.lang.Integer maximum,
                                     java.lang.Integer step,
                                     boolean valueRequired)
        Minimum, maximum, step, and value required constructor.
        Parameters:
        minimum - The minimum value, inclusive, or null if the range has no lower bound.
        maximum - The maximum value, inclusive, or null if the range has no upper bound.
        step - The step amount, or null if the range has no increment value specified.
        valueRequired - Whether the value must be non-null in order to be considered valid.
    • Method Detail

      • isValidStep

        protected boolean isValidStep​(java.lang.Integer value,
                                      java.lang.Integer step,
                                      java.lang.Integer base)
        Description copied from class: AbstractComparableRangeValidator
        Determines whether the given value falls on the correct step amount relative to the base value.
        Specified by:
        isValidStep in class AbstractComparableRangeValidator<java.lang.Integer>
        Parameters:
        value - The value to validate.
        step - The step value.
        base - The base (either the minimum or maximum value), or null if zero should be used as a base.
        Returns:
        true if the value is a valid step away from the given base.