Class EAN13CheckDigit
java.lang.Object
org.apache.commons.validator.routines.checkdigit.ModulusCheckDigit
org.apache.commons.validator.routines.checkdigit.EAN13CheckDigit
- All Implemented Interfaces:
Serializable
,CheckDigit
Modulus 10 EAN-13 / UPC / ISBN-13 Check Digit
calculation/validation.
Check digit calculation is based on modulus 10 with digits in an odd position (from right to left) being weighted 1 and even position digits being weighted 3.
For further information see:
- EAN-13 - see Wikipedia - European Article Number.
- UPC - see Wikipedia - Universal Product Code.
- ISBN-13 - see Wikipedia - International Standard Book Number (ISBN).
- Since:
- Validator 1.4
- Version:
- $Revision: 1649191 $
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final CheckDigit
Singleton EAN-13 Check Digit instanceprivate static final int[]
weighting given to digits depending on their right positionprivate static final long
-
Constructor Summary
Constructors -
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:
-
EAN13_CHECK_DIGIT
Singleton EAN-13 Check Digit instance -
POSITION_WEIGHT
private static final int[] POSITION_WEIGHTweighting given to digits depending on their right position
-
-
Constructor Details
-
EAN13CheckDigit
public EAN13CheckDigit()Construct a modulus 10 Check Digit routine for EAN/UPC.
-
-
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.
For EAN-13 (from right to left) odd digits are weighted with a factor of one and even digits with a factor of three.
- 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.
-