Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.validator.routines
Class AbstractNumberValidator

    java.lang.Object
      org.apache.commons.validator.routines.AbstractFormatValidator
          org.apache.commons.validator.routines.AbstractNumberValidator

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  BigDecimalValidator, BigIntegerValidator, ByteValidator, DoubleValidator, FloatValidator, IntegerValidator, LongValidator, ShortValidator

    public abstract class AbstractNumberValidator

extends AbstractFormatValidator

Abstract class for Number Validation.

This is a base class for building Number Validators using format parsing.

Since:
  Validator 1.3.0
Version:
  $Revision: 1227719 $ $Date: 2012-01-05 18:45:51 +0100 (Thu, 05 Jan 2012) $
See Also:
  Serialized Form

Field Summary
`static int` | `CURRENCY_FORMAT` Currency `NumberFormat` type
`static int` | `PERCENT_FORMAT` Percent `NumberFormat` type
`static int` | `STANDARD_FORMAT` Standard `NumberFormat` type

Constructor Summary
`AbstractNumberValidator(boolean strict, int formatType, boolean allowFractions)` Construct an instance with specified strict and decimal parameters.

Method Summary
`protected int` | `determineScale(NumberFormat format)` Returns the multiplier of the `NumberFormat`.
`protected Format` | `getFormat(Locale locale)` Returns a `NumberFormat` for the specified Locale.
`protected Format` | `getFormat(String pattern, Locale locale)` Returns a `NumberFormat` for the specified pattern and/or `Locale`.
`int` | `getFormatType()` Indicates the type of `NumberFormat` created by this validator instance.
`boolean` | `isAllowFractions()` Indicates whether the number being validated is a decimal or integer.
`boolean` | `isInRange(Number value, Number min, Number max)` Check if the value is within a specified range.
`boolean` | `isValid(String value, String pattern, Locale locale)` Validate using the specified `Locale`.
`boolean` | `maxValue(Number value, Number max)` Check if the value is less than or equal to a maximum.
`boolean` | `minValue(Number value, Number min)` Check if the value is greater than or equal to a minimum.
`protected Object` | `parse(String value, String pattern, Locale locale)` Parse the value using the specified pattern.
`protected abstract Object` | `processParsedValue(Object value, Format formatter)` Process the parsed value, performing any further validation and type conversion required.

Methods inherited from class org.apache.commons.validator.routines.AbstractFormatValidator
`format, format, format, format, format, isStrict, isValid, isValid, isValid, parse`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### STANDARD_FORMAT

    public static final int STANDARD_FORMAT

  Standard `NumberFormat` type

  See Also:
    Constant Field Values

### CURRENCY_FORMAT

    public static final int CURRENCY_FORMAT

  Currency `NumberFormat` type

  See Also:
    Constant Field Values

### PERCENT_FORMAT

    public static final int PERCENT_FORMAT

  Percent `NumberFormat` type

  See Also:
    Constant Field Values

Constructor Detail

### AbstractNumberValidator

    public AbstractNumberValidator(boolean strict,
                                   int formatType,
                                   boolean allowFractions)

  Construct an instance with specified strict and decimal parameters.

  Parameters:
    `strict` - `true` if strict `Format` parsing should be used.
    `formatType` - The `NumberFormat` type to create for validation, default is STANDARD_FORMAT.
    `allowFractions` - `true` if fractions are allowed or `false` if integers only.

Method Detail

### isAllowFractions

    public boolean isAllowFractions()

  Indicates whether the number being validated is a decimal or integer.

  Returns:
    `true` if decimals are allowed or `false` if the number is an integer.

### getFormatType

    public int getFormatType()

  Indicates the type of `NumberFormat` created by this validator instance.

  Returns:
    the format type created.

### isValid

    public boolean isValid(String value,
                           String pattern,
                           Locale locale)

  Validate using the specified `Locale`.

  Specified by:
    `isValid` in class `AbstractFormatValidator`
  Parameters:
    `value` - The value validation is being performed on.
    `pattern` - The pattern used to validate the value against, or the default for the `Locale` if `null`.
    `locale` - The locale to use for the date format, system default if null.
  Returns:
    `true` if the value is valid.

### isInRange

    public boolean isInRange(Number value,
                             Number min,
                             Number max)

  Check if the value is within a specified range.

  Parameters:
    `value` - The value validation is being performed on.
    `min` - The minimum value of the range.
    `max` - The maximum value of the range.
  Returns:
    `true` if the value is within the specified range.

### minValue

    public boolean minValue(Number value,
                            Number min)

  Check if the value is greater than or equal to a minimum.

  Parameters:
    `value` - The value validation is being performed on.
    `min` - The minimum value.
  Returns:
    `true` if the value is greater than or equal to the minimum.

### maxValue

    public boolean maxValue(Number value,
                            Number max)

  Check if the value is less than or equal to a maximum.

  Parameters:
    `value` - The value validation is being performed on.
    `max` - The maximum value.
  Returns:
    `true` if the value is less than or equal to the maximum.

### parse

    protected Object parse(String value,
                           String pattern,
                           Locale locale)

  Parse the value using the specified pattern.

  Parameters:
    `value` - The value validation is being performed on.
    `pattern` - The pattern used to validate the value against, or the default for the `Locale` if `null`.
    `locale` - The locale to use for the date format, system default if null.
  Returns:
    The parsed value if valid or `null` if invalid.

### processParsedValue

    protected abstract Object processParsedValue(Object value,
                                                 Format formatter)

  Process the parsed value, performing any further validation and type conversion required.

  Specified by:
    `processParsedValue` in class `AbstractFormatValidator`
  Parameters:
    `value` - The parsed object created.
    `formatter` - The Format used to parse the value with.
  Returns:
    The parsed value converted to the appropriate type if valid or `null` if invalid.

### getFormat

    protected Format getFormat(String pattern,
                               Locale locale)

  Returns a `NumberFormat` for the specified pattern and/or `Locale`.

  Specified by:
    `getFormat` in class `AbstractFormatValidator`
  Parameters:
    `pattern` - The pattern used to validate the value against or `null` to use the default for the `Locale`.
    `locale` - The locale to use for the currency format, system default if null.
  Returns:
    The `NumberFormat` to created.

### determineScale

    protected int determineScale(NumberFormat format)

  Returns the multiplier of the `NumberFormat`.

  Parameters:
    `format` - The `NumberFormat` to determine the multiplier of.
  Returns:
    The multiplying factor for the format..

### getFormat

    protected Format getFormat(Locale locale)

  Returns a `NumberFormat` for the specified Locale.

  Parameters:
    `locale` - The locale a `NumberFormat` is required for, system default if null.
  Returns:
    The `NumberFormat` to created.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2012 The Apache Software Foundation. All Rights Reserved.