Class EAN13Validator
- java.lang.Object
-
- org.apache.bval.extras.constraints.checkdigit.ModulusValidator<EAN13>
-
- org.apache.bval.extras.constraints.checkdigit.EAN13Validator
-
- All Implemented Interfaces:
jakarta.validation.ConstraintValidator<EAN13,CharSequence>
public final class EAN13Validator extends ModulusValidator<EAN13>
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).
-
-
Constructor Summary
Constructors Constructor Description EAN13Validator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.bval.extras.constraints.checkdigit.ModulusValidator
initialize, isValid, sumDigits, toInt
-
-
-
-
Method Detail
-
weightedValue
protected int weightedValue(int charValue, int leftPos, int rightPos) throws Exception
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.
Calculates the weighted value of a character in the code at a specified position.Some modulus routines weight the value of a character depending on its position in the code (e.g. ISBN-10), while others use different weighting factors for odd/even positions (e.g. EAN or Luhn). Implement the appropriate mechanism required by overriding this method.
- Specified by:
weightedValue
in classModulusValidator<EAN13>
- Parameters:
charValue
- The numeric value of the characterleftPos
- The position of the character in the code, counting from left to rightrightPos
- The position of the character in the code, counting from right to left- Returns:
- The weighted value of the character
- Throws:
Exception
-
-