Class Ismn


  • public class Ismn
    extends java.lang.Object
    • Field Detail

      • REGISTRANTS

        public static final java.util.Map<java.lang.String,​java.lang.Integer> REGISTRANTS
      • validDelimiters

        public static final java.util.Set<java.lang.Character> validDelimiters
      • FORMATTED_ISMN_TEMPLATE

        public static final java.lang.String FORMATTED_ISMN_TEMPLATE
        See Also:
        Constant Field Values
      • INVALID_ISMN_TEMPLATE

        public static final java.lang.String INVALID_ISMN_TEMPLATE
        See Also:
        Constant Field Values
      • PREFIX_CALCULATED_DEFAULT

        public static final int PREFIX_CALCULATED_DEFAULT
        See Also:
        Constant Field Values
    • Constructor Detail

      • Ismn

        public Ismn​(java.lang.String ismn)
             throws InvalidIsmnException
        Provides a parsed, validated ISMN 10 or ISMN 13.

        The method parses the prefix, publisher identifier part, item identifier part and check bit and validates these.

        In essence, this constructor demonstrates why semantically meaningful identifiers are a terrible idea.

        Parameters:
        ismn - A string representation of an ISMN.
        Throws:
        InvalidIsmnException - If the parsing or validation fails.
    • Method Detail

      • value

        public java.lang.String value()
      • formatted

        public java.lang.String formatted()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object