public final class ISBN10CheckDigit extends ModulusCheckDigit
ISBN-10 Numbers are a numeric code except for the last (check) digit which can have a value of "X".
Check digit calculation is based on modulus 11 with digits being weighted based by their position, from right to left with the first digit being weighted 1, the second 2 and so on. If the check digit is calculated as "10" it is converted to "X".
N.B. From 1st January 2007 the book industry will start to use a new 13 digit
ISBN number (rather than this 10 digit ISBN number) which uses the EAN-13 / UPC
(see EAN13CheckDigit
) standard.
For further information see:
Modifier and Type | Field and Description |
---|---|
static CheckDigit |
ISBN10_CHECK_DIGIT
Singleton ISBN-10 Check Digit instance
|
Constructor and Description |
---|
ISBN10CheckDigit()
Construct a modulus 11 Check Digit routine for ISBN-10.
|
Modifier and Type | Method and Description |
---|---|
protected String |
toCheckDigit(int charValue)
Convert an integer value to a character at a specified position.
|
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.
|
calculate, calculateModulus, getModulus, isValid, sumDigits
public static final CheckDigit ISBN10_CHECK_DIGIT
public ISBN10CheckDigit()
protected int weightedValue(int charValue, int leftPos, int rightPos)
For ISBN-10 (from right to left) digits are weighted by their position.
weightedValue
in class ModulusCheckDigit
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 leftprotected int toInt(char character, int leftPos, int rightPos) throws CheckDigitException
Convert a character at a specified position to an integer value.
Character 'X' check digit converted to 10.
toInt
in class ModulusCheckDigit
character
- The character to convert.leftPos
- 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 leftCheckDigitException
- if an error occurs.protected String toCheckDigit(int charValue) throws CheckDigitException
Convert an integer value to a character at a specified position.
Value '10' for position 1 (check digit) converted to 'X'.
toCheckDigit
in class ModulusCheckDigit
charValue
- The integer value of the character.CheckDigitException
- if an error occurs.Copyright © 2002–2017 The Apache Software Foundation. All rights reserved.