Class Ismn
- java.lang.Object
-
- no.unit.nva.model.instancetypes.artistic.music.Ismn
-
public class Ismn extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classIsmn.Prefix
-
Field Summary
Fields Modifier and Type Field Description static intEVEN_MULTIPLIERstatic java.lang.StringFORMATTED_FIELDstatic java.lang.StringFORMATTED_ISMN_TEMPLATEstatic java.lang.StringINVALID_ISMN_TEMPLATEstatic charISMN_10_PREFIXstatic intODD_MULTIPLIERstatic intPREFIX_CALCULATED_DEFAULTstatic intREGISTRANT_ITEM_LENGTHstatic java.util.Map<java.lang.String,java.lang.Integer>REGISTRANTSstatic intSTARTING_STATEstatic intUNSETstatic java.util.Set<java.lang.Character>validDelimitersstatic java.lang.StringVALUE_FIELD
-
Constructor Summary
Constructors Constructor Description Ismn(java.lang.String ismn)Provides a parsed, validated ISMN 10 or ISMN 13.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object o)java.lang.Stringformatted()inthashCode()java.lang.StringtoString()java.lang.Stringvalue()
-
-
-
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
-
EVEN_MULTIPLIER
public static final int EVEN_MULTIPLIER
- See Also:
- Constant Field Values
-
ODD_MULTIPLIER
public static final int ODD_MULTIPLIER
- See Also:
- Constant Field Values
-
ISMN_10_PREFIX
public static final char ISMN_10_PREFIX
- See Also:
- Constant Field Values
-
UNSET
public static final int UNSET
- See Also:
- Constant Field Values
-
PREFIX_CALCULATED_DEFAULT
public static final int PREFIX_CALCULATED_DEFAULT
- See Also:
- Constant Field Values
-
REGISTRANT_ITEM_LENGTH
public static final int REGISTRANT_ITEM_LENGTH
- See Also:
- Constant Field Values
-
STARTING_STATE
public static final int STARTING_STATE
- See Also:
- Constant Field Values
-
VALUE_FIELD
public static final java.lang.String VALUE_FIELD
- See Also:
- Constant Field Values
-
FORMATTED_FIELD
public static final java.lang.String FORMATTED_FIELD
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Ismn
public Ismn(java.lang.String ismn) throws InvalidIsmnExceptionProvides 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:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-