Class SedolCheckDigit

  • All Implemented Interfaces:
    java.io.Serializable, CheckDigit

    public final class SedolCheckDigit
    extends ModulusCheckDigit
    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:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      SedolCheckDigit()
      Construct a modulus 11 Check Digit routine for ISBN-10.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected int calculateModulus​(java.lang.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 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • SEDOL_CHECK_DIGIT

        public static final CheckDigit SEDOL_CHECK_DIGIT
        Singleton SEDOL check digit instance
      • POSITION_WEIGHT

        private static final int[] POSITION_WEIGHT
        weighting given to digits depending on their right position
    • Constructor Detail

      • SedolCheckDigit

        public SedolCheckDigit()
        Construct a modulus 11 Check Digit routine for ISBN-10.
    • Method Detail

      • calculateModulus

        protected int calculateModulus​(java.lang.String code,
                                       boolean includesCheckDigit)
                                throws CheckDigitException
        Calculate the modulus for an SEDOL code.
        Overrides:
        calculateModulus in class ModulusCheckDigit
        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 class ModulusCheckDigit
        Parameters:
        charValue - The numeric value of the character.
        leftPos - The position of the character in the code, counting from left to right
        rightPos - The positionof the character in the code, counting from right to left
        Returns:
        The weighted value of the character.
      • toInt

        protected int toInt​(char character,
                            int leftPos,
                            int rightPos)
                     throws CheckDigitException
        Convert a character at a specified position to an integer value.
        Overrides:
        toInt in class ModulusCheckDigit
        Parameters:
        character - The character to convert
        leftPos - The position of the character in the code, counting from left to right
        rightPos - 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