public final class ISBNCheckDigit extends Object implements CheckDigit, Serializable
This implementation validates/calculates ISBN check digits
based on the length of the code passed to it - delegating
either to the ISBN10_CHECK_DIGIT
or the
ISBN13_CHECK_DIGIT
routines to perform the actual
validation/calculation.
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 standard.
Modifier and Type | Field and Description |
---|---|
static CheckDigit |
ISBN_CHECK_DIGIT
Singleton combined ISBN-10 / ISBN-13 Check Digit instance
|
static CheckDigit |
ISBN10_CHECK_DIGIT
Singleton ISBN-10 Check Digit instance
|
static CheckDigit |
ISBN13_CHECK_DIGIT
Singleton ISBN-13 Check Digit instance
|
Constructor and Description |
---|
ISBNCheckDigit() |
Modifier and Type | Method and Description |
---|---|
String |
calculate(String code)
Calculate an ISBN-10 or ISBN-13 check digit, depending
on the length of the code.
|
boolean |
isValid(String code)
Validate an ISBN-10 or ISBN-13 check digit, depending
on the length of the code.
|
public static final CheckDigit ISBN10_CHECK_DIGIT
public static final CheckDigit ISBN13_CHECK_DIGIT
public static final CheckDigit ISBN_CHECK_DIGIT
public String calculate(String code) throws CheckDigitException
If the length of the code is 9, it is treated as an ISBN-10 code or if the length of the code is 12, it is treated as an ISBN-13 code.
calculate
in interface CheckDigit
code
- The ISBN code to validate (should have a length of
9 or 12)CheckDigitException
- if the code is missing, or an invalid
length (i.e. not 9 or 12) or if there is an error calculating the
check digit.public boolean isValid(String code)
Validate an ISBN-10 or ISBN-13 check digit, depending on the length of the code.
If the length of the code is 10, it is treated as an ISBN-10 code or ff the length of the code is 13, it is treated as an ISBN-13 code.
isValid
in interface CheckDigit
code
- The ISBN code to validate (should have a length of
10 or 13)true
if the code has a length of 10 and is
a valid ISBN-10 check digit or the code has a length of 13 and is
a valid ISBN-13 check digit - otherwise false
.Copyright © 2002–2017 The Apache Software Foundation. All rights reserved.