Class ABANumberCheckDigit
java.lang.Object
org.apache.commons.validator.routines.checkdigit.ModulusCheckDigit
org.apache.commons.validator.routines.checkdigit.ABANumberCheckDigit
- All Implemented Interfaces:
Serializable
,CheckDigit
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: 1649191 $
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final CheckDigit
Singleton Routing Transit Number Check Digit instanceprivate static final int[]
weighting given to digits depending on their right positionprivate static final long
-
Constructor Summary
ConstructorsConstructorDescriptionConstruct a modulus 10 Check Digit routine for ABA Numbers. -
Method Summary
Modifier and TypeMethodDescriptionprotected 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
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
ABAN_CHECK_DIGIT
Singleton Routing Transit Number Check Digit instance -
POSITION_WEIGHT
private static final int[] POSITION_WEIGHTweighting given to digits depending on their right position
-
-
Constructor Details
-
ABANumberCheckDigit
public ABANumberCheckDigit()Construct a modulus 10 Check Digit routine for ABA Numbers.
-
-
Method Details
-
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 classModulusCheckDigit
- Parameters:
charValue
- The numeric value of the character.leftPos
- The position of the character in the code, counting from left to rightrightPos
- The positionof the character in the code, counting from right to left- Returns:
- The weighted value of the character.
-