public class ISSNValidator extends Object implements Serializable
The format is: ISSN dddd-dddC where: d = decimal digit (0-9) C = checksum (0-9 or X) The checksum is formed by adding the first 7 digits multiplied by the position in the entire number (counting from the right). For example, abcd-efg would be 8a + 7b + 6c + 5d + 4e +3f +2g. The check digit is modulus 11, where the value 10 is represented by 'X' For example: ISSN 0317-8471 ISSN 1050-124X This class strips off the 'ISSN ' prefix if it is present before passing the remainder to the checksum routine.
Note: the isValid(String)
and methods strip off any leading
or trailing spaces before doing the validation.
To ensure that only a valid code (without 'ISSN ' prefix) is passed to a method,
use the following code:
Object valid = validator.validate(input); if (valid != null) { some_method(valid.toString()); }
Constructor and Description |
---|
ISSNValidator() |
Modifier and Type | Method and Description |
---|---|
String |
convertToEAN13(String issn,
String suffix)
Convert an ISSN code to an EAN-13 code.
|
static ISSNValidator |
getInstance()
Return a singleton instance of the ISSN validator
|
boolean |
isValid(String code)
Check the code is a valid ISSN code after any transformation
by the validate routine.
|
Object |
validate(String code)
Check the code is valid ISSN code.
|
public static ISSNValidator getInstance()
public boolean isValid(String code)
code
- The code to validate.true
if a valid ISSN
code, otherwise false
.public Object validate(String code)
If valid, this method returns the ISSN code with the 'ISSN ' prefix removed (if it was present)
code
- The code to validate.null
.public String convertToEAN13(String issn, String suffix)
This method requires a valid ISSN code.
It may contain a leading 'ISSN ' prefix,
as the input is passed through the validate(String)
method.
issn
- The ISSN code to convertsuffix
- the two digit suffix, e.g. "00"null
if the input ISSN code is not validCopyright © 2002–2017 The Apache Software Foundation. All rights reserved.