Class ISSNValidator

  • All Implemented Interfaces:
    java.io.Serializable

    public class ISSNValidator
    extends java.lang.Object
    implements java.io.Serializable
    International Standard Serial Number (ISSN) is an eight-digit serial number used to uniquely identify a serial publication.

     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());
     }
     
    Since:
    1.5.0
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      ISSNValidator()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String convertToEAN13​(java.lang.String issn, java.lang.String suffix)
      Convert an ISSN code to an EAN-13 code.
      static ISSNValidator getInstance()
      Return a singleton instance of the ISSN validator
      boolean isValid​(java.lang.String code)
      Check the code is a valid ISSN code after any transformation by the validate routine.
      java.lang.Object validate​(java.lang.String code)
      Check the code is valid ISSN code.
      • Methods inherited from class java.lang.Object

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

      • ISSNValidator

        public ISSNValidator()
    • Method Detail

      • getInstance

        public static ISSNValidator getInstance()
        Return a singleton instance of the ISSN validator
        Returns:
        A singleton instance of the ISSN validator.
      • isValid

        public boolean isValid​(java.lang.String code)
        Check the code is a valid ISSN code after any transformation by the validate routine.
        Parameters:
        code - The code to validate.
        Returns:
        true if a valid ISSN code, otherwise false.
      • validate

        public java.lang.Object validate​(java.lang.String code)
        Check the code is valid ISSN code.

        If valid, this method returns the ISSN code with the 'ISSN ' prefix removed (if it was present)

        Parameters:
        code - The code to validate.
        Returns:
        A valid ISSN code if valid, otherwise null.
      • convertToEAN13

        public java.lang.String convertToEAN13​(java.lang.String issn,
                                               java.lang.String suffix)
        Convert an ISSN code to an EAN-13 code.

        This method requires a valid ISSN code. It may contain a leading 'ISSN ' prefix, as the input is passed through the validate(String) method.

        Parameters:
        issn - The ISSN code to convert
        suffix - the two digit suffix, e.g. "00"
        Returns:
        A converted EAN-13 code or null if the input ISSN code is not valid