CheckDigitpublic final class LuhnCheckDigit extends ModulusCheckDigit
See Wikipedia for more details.
| Modifier and Type | Field | Description |
|---|---|---|
static CheckDigit |
LUHN_CHECK_DIGIT |
Singleton Luhn Check Digit instance
|
private static int[] |
POSITION_WEIGHT |
weighting given to digits depending on their right position
|
private static long |
serialVersionUID |
| Constructor | Description |
|---|---|
LuhnCheckDigit() |
Construct a modulus 10 Luhn Check Digit routine.
|
| Modifier and Type | Method | Description |
|---|---|---|
protected int |
weightedValue(int charValue,
int leftPos,
int rightPos) |
Calculates the weighted value of a charcter in the
code at a specified position.
|
calculate, calculateModulus, getModulus, isValid, sumDigits, toCheckDigit, toIntprivate static final long serialVersionUID
public static final CheckDigit LUHN_CHECK_DIGIT
private static final int[] POSITION_WEIGHT
public LuhnCheckDigit()
protected int weightedValue(int charValue,
int leftPos,
int rightPos)
Calculates the weighted value of a charcter in the code at a specified position.
For Luhn (from right to left) odd digits are weighted with a factor of one and even digits with a factor of two. Weighted values > 9, have 9 subtracted
weightedValue in class ModulusCheckDigitcharValue - 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 leftCopyright (c) 2001-2004 Apache Software Foundation