Class Modulus11DKCheckDigit

All Implemented Interfaces:
Serializable, CheckDigit

public final class Modulus11DKCheckDigit extends Modulus11iBSNCheckDigit
Danish Tax identification number (TIN) and VATIN Check Digit calculation/validation.

det Centrale PersonRegister - nummer (CPR-nummer)
Nmomsregistreringsnummer (SE-nr.)

See Wikipedia - CPR-numme (da) and Wikipedia - VAT IN (en) for more details.

Since:
2.10.6
Author:
EUG https://github.com/homebeaver
See Also:
  • Method Details

    • getInstance

      public static CheckDigit getInstance()
      Gets the singleton instance of this validator.
      Returns:
      A singleton instance of the class.
    • getCheckdigitLength

      protected int getCheckdigitLength()

      Override because there is no checkdigit.

      Overrides:
      getCheckdigitLength in class ModulusCheckDigit
    • weightedValue

      protected int weightedValue(int charValue, int leftPos, int rightPos) throws CheckDigitException
      Calculates the weighted value of a character in the code at a specified position.

      TIN, VATID digits are weighted by their position from right to left. There is no check digit at the right most pos where the weight is 1. The next weight is 2, 3, .. to 7, Then we repeat the weight 2, 3, ...

      Overrides:
      weightedValue in class Modulus11iWeightCheckDigit
      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.
      Throws:
      CheckDigitException - if an error occurs calculating the weighted value
    • toCheckDigit

      protected String toCheckDigit(int charValue) throws CheckDigitException
      Convert an integer value to a check digit.

      Note: this implementation only handles single-digit numeric values For non-numeric characters, override this method to provide integer-->character conversion.

      Override to handle charValue 10.

      Override because charValue 0 is the only valid check digit value and there is no checkdigit.

      Overrides:
      toCheckDigit in class Modulus11iWeightCheckDigit
      Parameters:
      charValue - The integer value of the character
      Returns:
      The converted character
      Throws:
      CheckDigitException - if integer character value doesn't represent a numeric character