org.apache.commons.validator.routines

## Class IBANValidator

- java.lang.Object
- - org.apache.commons.validator.routines.IBANValidator

-     public class IBANValidator
      extends Object

  IBAN Validator.
  Since:
    1.5.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `IBANValidator.Validator` The validation class

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static IBANValidator` | `DEFAULT_IBAN_VALIDATOR` The singleton instance which uses the default formats

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IBANValidator()` Create a default IBAN validator.
    `IBANValidator(IBANValidator.Validator[] formatMap)` Create an IBAN validator from the specified map of IBAN formats.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `IBANValidator.Validator[]` | `getDefaultValidators()` Gets a copy of the default Validators.
    `static IBANValidator` | `getInstance()` Return a singleton instance of the IBAN validator using the default formats
    `IBANValidator.Validator` | `getValidator(String code)` Get the Validator for a given IBAN
    `boolean` | `hasValidator(String code)` Does the class have the required validator?
    `boolean` | `isValid(String code)` Validate an IBAN Code
    `IBANValidator.Validator` | `setValidator(IBANValidator.Validator validator)` Installs a validator.
    `IBANValidator.Validator` | `setValidator(String countryCode, int length, String format)` Installs a validator.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_IBAN_VALIDATOR

          public static final IBANValidator DEFAULT_IBAN_VALIDATOR

      The singleton instance which uses the default formats

  - ### Constructor Detail

    - #### IBANValidator

          public IBANValidator()

      Create a default IBAN validator.

    - #### IBANValidator

          public IBANValidator(IBANValidator.Validator[] formatMap)

      Create an IBAN validator from the specified map of IBAN formats.
      Parameters:
        `formatMap` - map of IBAN formats

  - ### Method Detail

    - #### getInstance

          public static IBANValidator getInstance()

      Return a singleton instance of the IBAN validator using the default formats
      Returns:
        A singleton instance of the ISBN validator

    - #### isValid

          public boolean isValid(String code)

      Validate an IBAN Code
      Parameters:
        `code` - The value validation is being performed on
      Returns:
        `true` if the value is valid

    - #### hasValidator

          public boolean hasValidator(String code)

      Does the class have the required validator?
      Parameters:
        `code` - the code to check
      Returns:
        true if there is a validator

    - #### getDefaultValidators

          public IBANValidator.Validator[] getDefaultValidators()

      Gets a copy of the default Validators.
      Returns:
        a copy of the default Validator array

    - #### getValidator

          public IBANValidator.Validator getValidator(String code)

      Get the Validator for a given IBAN
      Parameters:
        `code` - a string starting with the ISO country code (e.g. an IBAN)
      Returns:
        the validator or `null` if there is not one registered.

    - #### setValidator

          public IBANValidator.Validator setValidator(IBANValidator.Validator validator)

      Installs a validator. Will replace any existing entry which has the same countryCode
      Parameters:
        `validator` - the instance to install.
      Returns:
        the previous Validator, or `null` if there was none
      Throws:
        `IllegalStateException` - if an attempt is made to modify the singleton validator

    - #### setValidator

          public IBANValidator.Validator setValidator(String countryCode,
                                                      int length,
                                                      String format)

      Installs a validator. Will replace any existing entry which has the same countryCode.
      Parameters:
        `countryCode` - the country code
        `length` - the length of the IBAN. Must be ≥ 8 and ≤ 32. If the length is < 0, the validator is removed, and the format is not used.
        `format` - the format of the IBAN (as a regular expression)
      Returns:
        the previous Validator, or `null` if there was none
      Throws:
        `IllegalArgumentException` - if there is a problem
        `IllegalStateException` - if an attempt is made to modify the singleton validator

Copyright © 2002–2020 The Apache Software Foundation. All rights reserved.