Class SedolCheckDigit
java.lang.Object
org.apache.commons.validator.routines.checkdigit.ModulusCheckDigit
org.apache.commons.validator.routines.checkdigit.SedolCheckDigit
- All Implemented Interfaces:
Serializable
,CheckDigit
Modulus 10 SEDOL (UK Securities) Check Digit calculation/validation.
SEDOL Numbers are 7 character alphanumeric codes used to identify UK Securities (SEDOL stands for Stock Exchange Daily Official List).
Check digit calculation is based on modulus 10 with digits being weighted based on their position, from left to right, as follows:
position: 1 2 3 4 5 6 7
weighting: 1 3 1 7 3 9 1
See Wikipedia - SEDOL for more details.
- Since:
- Validator 1.4
- Version:
- $Revision: 1649191 $
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int[]
weighting given to digits depending on their right positionstatic final CheckDigit
Singleton SEDOL check digit instanceprivate static final long
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected int
calculateModulus
(String code, boolean includesCheckDigit) Calculate the modulus for an SEDOL code.protected int
toInt
(char character, int leftPos, int rightPos) Convert a character at a specified position to an integer value.protected int
weightedValue
(int charValue, int leftPos, int rightPos) Calculates the weighted value of a charcter in the code at a specified position.Methods inherited from class org.apache.commons.validator.routines.checkdigit.ModulusCheckDigit
calculate, getModulus, isValid, sumDigits, toCheckDigit
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
SEDOL_CHECK_DIGIT
Singleton SEDOL check digit instance -
POSITION_WEIGHT
private static final int[] POSITION_WEIGHTweighting given to digits depending on their right position
-
-
Constructor Details
-
SedolCheckDigit
public SedolCheckDigit()Construct a modulus 11 Check Digit routine for ISBN-10.
-
-
Method Details
-
calculateModulus
Calculate the modulus for an SEDOL code.- Overrides:
calculateModulus
in classModulusCheckDigit
- Parameters:
code
- The code to calculate the modulus for.includesCheckDigit
- Whether the code includes the Check Digit or not.- Returns:
- The modulus value
- Throws:
CheckDigitException
- if an error occurs calculating the modulus for the specified code
-
weightedValue
protected int weightedValue(int charValue, int leftPos, int rightPos) Calculates the weighted value of a charcter in the code at a specified position.- 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.
-
toInt
Convert a character at a specified position to an integer value.- Overrides:
toInt
in classModulusCheckDigit
- Parameters:
character
- The character to convertleftPos
- 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 integer value of the character
- Throws:
CheckDigitException
- if character is not alphanumeric
-