Class ISBN
- java.lang.Object
-
- de.creativecouple.validation.isbn.ISBN
-
- All Implemented Interfaces:
Serializable
public final class ISBN extends Object implements Serializable
Simple domain object, representing a single ISBN identifier. Usage:ISBN isbn1 = ISBN.valueOf("978-0557504695"); isbn1.toString(); // "978-0-557-50469-5" ISBN isbn2 = ISBN.valueOf("0-557-50469-4"); isbn2.toString(); // "978-0-557-50469-5" isbn1.equals(isbn2); // true- Author:
- Peter Liske (CreativeCouple)
- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)Two ISBN objects with the same ISBN-13 representation are treated equal.StringgetAgencyName()The range definition from the International ISBN Agency associates a name with each prefix.chargetCheckdigit()To meet the EAN criteria for valid article numbers, each ISBN has an additional digit to increase redundancy and to spot errors.StringgetGroup()There are group codes assigned with each local ISBN agency, e.g. for single countries or language regions.StringgetGroupName()The range definition from the Internation ISBN Agency associates a name with each local group.StringgetGroupPrefix()The group prefix is the substring that all valid ISBNs from that group start with.StringgetPrefix()The EAN/UCC prefix represents the country/region in the EAN/GTIN standard.StringgetPublisher()There are local ISBN agencies around the world take care of assigning number ranges for publishers.StringgetPublisherPrefix()The publisher prefix is the substring that all valid ISBNs from that publisher range start with.StringgetTitle()Each publication has a title identifier that is unique within the publisher's number range.inthashCode()StringtoCompactString()Returns the compact ISBN-13 representation.StringtoString()Returns the correctly hyphened ISBN-13 representation.URItoURI()Returns the URI for this ISBN.static ISBNvalueOf(String isbn)Parses a given string input and returns an ISBN object.
-
-
-
Method Detail
-
getPrefix
public String getPrefix()
The EAN/UCC prefix represents the country/region in the EAN/GTIN standard. Currently only "978" and "979" are associated with the International ISBN Agency.,–––⹁ 978-0-557-50469-5 `–––´
- Returns:
- the ISBN prefix, e.g. "978" or "979"
-
getAgencyName
public String getAgencyName()
The range definition from the International ISBN Agency associates a name with each prefix. So far this is always "International ISBN Agency".- Returns:
- the agency's name associated with the ISBN prefix
-
getGroup
public String getGroup()
There are group codes assigned with each local ISBN agency, e.g. for single countries or language regions. It is the second piece of the ISBN.,–⹁ 978-0-557-50469-5 `–´- Returns:
- the group code of the ISBN, e.g. "0" or "610"
-
getGroupPrefix
public String getGroupPrefix()
The group prefix is the substring that all valid ISBNs from that group start with.,–––––⹁ 978-0-557-50469-5 `–––––´
- Returns:
- the group code of the ISBN, e.g. "978-0"
-
getGroupName
public String getGroupName()
The range definition from the Internation ISBN Agency associates a name with each local group.- Returns:
- the agency's name associated with the group prefix, e.g. "English language" or "Turkey"
-
getPublisher
public String getPublisher()
There are local ISBN agencies around the world take care of assigning number ranges for publishers. This is the third piece of the ISBN.,–––⹁ 978-0-557-50469-5 `–––´- Returns:
- the publisher code of the ISBN, e.g. "557"
-
getPublisherPrefix
public String getPublisherPrefix()
The publisher prefix is the substring that all valid ISBNs from that publisher range start with.,–––––––––⹁ 978-0-557-50469-5 `–––––––––´
- Returns:
- the group code of the ISBN, e.g. "978-0-557"
-
getTitle
public String getTitle()
Each publication has a title identifier that is unique within the publisher's number range. It is the fourth piece of the ISBN.,–––––⹁ 978-0-557-50469-5 `–––––´- Returns:
- the title code of the ISBN, e.g. "50469"
-
getCheckdigit
public char getCheckdigit()
To meet the EAN criteria for valid article numbers, each ISBN has an additional digit to increase redundancy and to spot errors. It is a number from '0' to '9'. If any single digit of the ISBN string changes, it will become invalid.,–⹁ 978-0-557-50469-5 `–´- Returns:
- the checkdigit of the ISBN, e.g. '5'
-
toString
public String toString()
Returns the correctly hyphened ISBN-13 representation.
-
toCompactString
public String toCompactString()
Returns the compact ISBN-13 representation.- Returns:
- the compact ISBN-13 representation, e.g. "9780557504695"
-
toURI
public URI toURI()
Returns the URI for this ISBN.- Returns:
- the URI pointing to this ISBN, e.g. "urn:isbn:9780557504695"
-
equals
public boolean equals(Object obj)
Two ISBN objects with the same ISBN-13 representation are treated equal.
-
hashCode
public int hashCode()
- Overrides:
hashCodein classObject- See Also:
equals(Object)
-
valueOf
public static ISBN valueOf(String isbn) throws IllegalArgumentException
Parses a given string input and returns an ISBN object.- Returns:
- the ISBN object
- Throws:
NumberFormatException- if the input is not an ISBNIllegalArgumentException
-
-