public final class SedolValidator extends ModulusValidator<Sedol>
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.
Constructor and Description |
---|
SedolValidator() |
Modifier and Type | Method and Description |
---|---|
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 character in the
code at a specified position.
|
initialize, isValid, sumDigits
protected int weightedValue(int charValue, int leftPos, int rightPos) throws Exception
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.
weightedValue
in class ModulusValidator<Sedol>
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 leftException
protected int toInt(char character, int leftPos, int rightPos)
Note: this implementation only handlers numeric values For non-numeric characters, override this method to provide character-->integer conversion.
toInt
in class ModulusValidator<Sedol>
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 leftCopyright © 2010–2020 The Apache Software Foundation. All rights reserved.