Class ECNumberCheckDigit
java.lang.Object
org.apache.commons.validator.routines.checkdigit.ModulusCheckDigit
org.apache.commons.validator.routines.checkdigit.ECNumberCheckDigit
- All Implemented Interfaces:
Serializable,CheckDigit
Modulus 11 EC number Check Digit calculation/validation.
EC Numbers are a numeric codes.
Check digit calculation is based on modulus 11 with digits being weighted
based on their position (from left to right).
Note that these do not validate the input for syntax.
Such validation is performed by the ECNumberValidator
- Since:
- 1.9.0
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intEC number consists of 3 groups of numbers separated dashes (-). -
Method Summary
Modifier and TypeMethodDescriptionCalculate a modulus Check Digit for a code which does not yet have one.static CheckDigitGets the singleton instance of this validator.booleanValidate a modulus check digit for a code.protected intweightedValue(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
calculateModulus, getCheckdigitLength, getModulus, sumDigits, toCheckDigit, toInt
-
Field Details
-
LEN
public static final int LENEC number consists of 3 groups of numbers separated dashes (-). Example: dexamethasone is 200-003-9 The length without dashes.- See Also:
-
-
Method Details
-
getInstance
Gets the singleton instance of this validator.- Returns:
- A singleton instance of the EC Number validator.
-
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 EC number digits are weighted by their position from left to right.
- Specified by:
weightedValuein 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.
-
calculate
Calculate a modulus Check Digit for a code which does not yet have one.- Specified by:
calculatein interfaceCheckDigit- Overrides:
calculatein classModulusCheckDigit- Parameters:
code- The code for which to calculate the Check Digit; the check digit should not be included- Returns:
- The calculated Check Digit
- Throws:
CheckDigitException- if an error occurs calculating the check digit
-
isValid
Validate a modulus check digit for a code.- Specified by:
isValidin interfaceCheckDigit- Overrides:
isValidin classModulusCheckDigit- Parameters:
code- The code to validate- Returns:
trueif the check digit is valid, otherwisefalse
-