org.apache.commons.validator.routines.checkdigit

## Class ABANumberCheckDigit

- java.lang.Object
- - org.apache.commons.validator.routines.checkdigit.ModulusCheckDigit
  - - org.apache.commons.validator.routines.checkdigit.ABANumberCheckDigit

- All Implemented Interfaces:
    Serializable, CheckDigit

      public final class ABANumberCheckDigit
      extends ModulusCheckDigit

  Modulus 10 ABA Number (or Routing Transit Number (RTN)) Check Digit calculation/validation.

  ABA Numbers (or Routing Transit Numbers) are a nine digit numeric code used to identify American financial institutions for things such as checks or deposits (ABA stands for the American Bankers Association).

  Check digit calculation is based on modulus 10 with digits being weighted based on their position (from right to left) as follows:
  - Digits 1, 4 and & 7 are weighted 1
  - Digits 2, 5 and & 8 are weighted 7
  - Digits 3, 6 and & 9 are weighted 3

  For further information see Wikipedia - Routing transit number.

  Since:
    Validator 1.4
  Version:
    $Revision$
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static CheckDigit` | `ABAN_CHECK_DIGIT` Singleton Routing Transit Number Check Digit instance

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ABANumberCheckDigit()` Construct a modulus 10 Check Digit routine for ABA Numbers.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected int` | `weightedValue(int charValue, int leftPos, int rightPos)` Calculates the weighted value of a character in the code at a specified position.

    - ### Methods inherited from class org.apache.commons.validator.routines.checkdigit.ModulusCheckDigit

      `calculate, calculateModulus, getModulus, isValid, sumDigits, toCheckDigit, toInt`

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

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

- - ### Field Detail

    - #### ABAN_CHECK_DIGIT

          public static final CheckDigit ABAN_CHECK_DIGIT

      Singleton Routing Transit Number Check Digit instance

  - ### Constructor Detail

    - #### ABANumberCheckDigit

          public ABANumberCheckDigit()

      Construct a modulus 10 Check Digit routine for ABA Numbers.

  - ### Method Detail

    - #### weightedValue

          protected int weightedValue(int charValue,
                                      int leftPos,
                                      int rightPos)

      Calculates the weighted value of a character in the code at a specified position.

      ABA Routing numbers are weighted in the following manner:

               left position: 1  2  3  4  5  6  7  8  9
                      weight: 3  7  1  3  7  1  3  7  1

      Specified by:
        `weightedValue` in class `ModulusCheckDigit`
      Parameters:
        `charValue` - The numeric value of the character.
        `leftPos` - The position of the character in the code, counting from left to right
        `rightPos` - The positionof the character in the code, counting from right to left
      Returns:
        The weighted value of the character.

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