set standard number classes to public
This commit is contained in:
parent
0615ba539d
commit
0f01172f4d
15 changed files with 42 additions and 46 deletions
|
@ -26,7 +26,7 @@ import java.util.regex.Pattern;
|
||||||
* See link:http://tools.ietf.org/html/draft-kunze-ark-18[ARK IETF RFC, window='_blank'],
|
* See link:http://tools.ietf.org/html/draft-kunze-ark-18[ARK IETF RFC, window='_blank'],
|
||||||
* link:http://www.cdlib.org/services/uc3/docs/jak_ARKs_Berlin_2012.pdf[10 years ARK, window='_blank']
|
* link:http://www.cdlib.org/services/uc3/docs/jak_ARKs_Berlin_2012.pdf[10 years ARK, window='_blank']
|
||||||
*/
|
*/
|
||||||
class ARK extends StandardNumber implements Cloneable, Comparable<ARK> {
|
public class ARK extends StandardNumber implements Cloneable, Comparable<ARK> {
|
||||||
|
|
||||||
private static final Pattern PATTERN = Pattern.compile("[\\p{Graph}\\p{Punct}]{0,48}");
|
private static final Pattern PATTERN = Pattern.compile("[\\p{Graph}\\p{Punct}]{0,48}");
|
||||||
|
|
||||||
|
@ -34,15 +34,10 @@ class ARK extends StandardNumber implements Cloneable, Comparable<ARK> {
|
||||||
|
|
||||||
private URI uri;
|
private URI uri;
|
||||||
|
|
||||||
protected ARK() {
|
public ARK() {
|
||||||
super("ark");
|
super("ark");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int compareTo(ARK ark) {
|
|
||||||
return ark != null ? normalizedValue().compareTo(ark.normalizedValue()) : -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ARK set(CharSequence value) {
|
public ARK set(CharSequence value) {
|
||||||
super.set(value);
|
super.set(value);
|
||||||
|
@ -112,9 +107,12 @@ class ARK extends StandardNumber implements Cloneable, Comparable<ARK> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Collection<String> getTypedVariants() {
|
public Collection<String> getTypedVariants() {
|
||||||
return Arrays.asList(
|
return Arrays.asList(type().toUpperCase() + " " + format(), type().toUpperCase() + " " + normalizedValue());
|
||||||
type().toUpperCase() + " " + format(),
|
}
|
||||||
type().toUpperCase() + " " + normalizedValue());
|
|
||||||
|
@Override
|
||||||
|
public int compareTo(ARK ark) {
|
||||||
|
return ark != null ? normalizedValue().compareTo(ark.normalizedValue()) : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -42,7 +42,7 @@ import java.util.regex.Pattern;
|
||||||
* and the context of use. The DOI system provides, within networks of DOI applications,
|
* and the context of use. The DOI system provides, within networks of DOI applications,
|
||||||
* for unique identification, persistence, resolution, metadata and semantic interoperability.
|
* for unique identification, persistence, resolution, metadata and semantic interoperability.
|
||||||
*/
|
*/
|
||||||
class DOI extends StandardNumber implements Cloneable, Comparable<DOI> {
|
public class DOI extends StandardNumber implements Cloneable, Comparable<DOI> {
|
||||||
|
|
||||||
private static final Pattern DOI_PATTERN =
|
private static final Pattern DOI_PATTERN =
|
||||||
Pattern.compile("\\b10\\.\\d{4}([.][0-9]+)*/[a-z0-9/\\-.()<>_:;\\\\]+\\b");
|
Pattern.compile("\\b10\\.\\d{4}([.][0-9]+)*/[a-z0-9/\\-.()<>_:;\\\\]+\\b");
|
||||||
|
@ -56,15 +56,10 @@ class DOI extends StandardNumber implements Cloneable, Comparable<DOI> {
|
||||||
|
|
||||||
private URI httpDxDoi;
|
private URI httpDxDoi;
|
||||||
|
|
||||||
protected DOI() {
|
public DOI() {
|
||||||
super("doi");
|
super("doi");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int compareTo(DOI doi) {
|
|
||||||
return doi != null ? normalizedValue().compareTo(doi.normalizedValue()) : -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DOI createChecksum(boolean checksum) {
|
public DOI createChecksum(boolean checksum) {
|
||||||
return this;
|
return this;
|
||||||
|
@ -141,6 +136,11 @@ class DOI extends StandardNumber implements Cloneable, Comparable<DOI> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compareTo(DOI doi) {
|
||||||
|
return doi != null ? normalizedValue().compareTo(doi.normalizedValue()) : -1;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object object) {
|
public boolean equals(Object object) {
|
||||||
return object instanceof DOI && value.equals(((DOI) object).value);
|
return object instanceof DOI && value.equals(((DOI) object).value);
|
||||||
|
|
|
@ -12,13 +12,13 @@ import java.util.regex.Pattern;
|
||||||
* Numbers encoded in UPC and EAN barcodes are known as
|
* Numbers encoded in UPC and EAN barcodes are known as
|
||||||
* Global Trade Item Numbers (GTIN).
|
* Global Trade Item Numbers (GTIN).
|
||||||
*/
|
*/
|
||||||
class EAN extends StandardNumber implements Cloneable, Comparable<EAN> {
|
public class EAN extends StandardNumber implements Cloneable, Comparable<EAN> {
|
||||||
|
|
||||||
private static final Pattern PATTERN = Pattern.compile("\\b[\\p{Digit}\\s]{13,18}\\b");
|
private static final Pattern PATTERN = Pattern.compile("\\b[\\p{Digit}\\s]{13,18}\\b");
|
||||||
|
|
||||||
private boolean createWithChecksum;
|
private boolean createWithChecksum;
|
||||||
|
|
||||||
protected EAN() {
|
public EAN() {
|
||||||
super("ean");
|
super("ean");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,13 +40,13 @@ import java.util.regex.Pattern;
|
||||||
*
|
*
|
||||||
* See link:http://www.gtin.info/[GTIN info, window='_blank']
|
* See link:http://www.gtin.info/[GTIN info, window='_blank']
|
||||||
*/
|
*/
|
||||||
class GTIN extends StandardNumber implements Cloneable, Comparable<GTIN> {
|
public class GTIN extends StandardNumber implements Cloneable, Comparable<GTIN> {
|
||||||
|
|
||||||
private static final Pattern PATTERN = Pattern.compile("\\b[\\p{Digit}\\-]{3,18}\\b");
|
private static final Pattern PATTERN = Pattern.compile("\\b[\\p{Digit}\\-]{3,18}\\b");
|
||||||
|
|
||||||
private boolean createWithChecksum;
|
private boolean createWithChecksum;
|
||||||
|
|
||||||
protected GTIN() {
|
public GTIN() {
|
||||||
super("gtin");
|
super("gtin");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
||||||
*
|
*
|
||||||
* Checksum calculation is in accordance to ISO 7064 MOD-97.
|
* Checksum calculation is in accordance to ISO 7064 MOD-97.
|
||||||
*/
|
*/
|
||||||
class IBAN extends StandardNumber implements Cloneable, Comparable<IBAN> {
|
public class IBAN extends StandardNumber implements Cloneable, Comparable<IBAN> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Norway = 15, Malta = 31 + "IBAN ".
|
* Norway = 15, Malta = 31 + "IBAN ".
|
||||||
|
@ -57,7 +57,7 @@ class IBAN extends StandardNumber implements Cloneable, Comparable<IBAN> {
|
||||||
|
|
||||||
private boolean createWithChecksum;
|
private boolean createWithChecksum;
|
||||||
|
|
||||||
protected IBAN() {
|
public IBAN() {
|
||||||
super("iban");
|
super("iban");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ import javax.xml.stream.events.XMLEvent;
|
||||||
* link:http://www.iana.org/assignments/urn-namespaces[The IANA URN assignments, window='_blank'],
|
* link:http://www.iana.org/assignments/urn-namespaces[The IANA URN assignments, window='_blank'],
|
||||||
* link:https://www.isbn-international.org/range_file_generation[ISBN prefix generation, window='_blank']
|
* link:https://www.isbn-international.org/range_file_generation[ISBN prefix generation, window='_blank']
|
||||||
*/
|
*/
|
||||||
class ISBN extends StandardNumber implements Cloneable, Comparable<ISBN> {
|
public class ISBN extends StandardNumber implements Cloneable, Comparable<ISBN> {
|
||||||
|
|
||||||
private static final Pattern PATTERN = Pattern.compile("[\\p{Digit}xX\\p{Pd}]{10,17}");
|
private static final Pattern PATTERN = Pattern.compile("[\\p{Digit}xX\\p{Pd}]{10,17}");
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ class ISBN extends StandardNumber implements Cloneable, Comparable<ISBN> {
|
||||||
|
|
||||||
private boolean isEAN;
|
private boolean isEAN;
|
||||||
|
|
||||||
protected ISBN() {
|
public ISBN() {
|
||||||
super("isbn");
|
super("isbn");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,13 +24,13 @@ import java.util.regex.Pattern;
|
||||||
*
|
*
|
||||||
* See link:http://www.ismn-international.org/download/Web_ISMN%20Manual_2008-3.pdf[ISMN Manual 2008, window='_blank']
|
* See link:http://www.ismn-international.org/download/Web_ISMN%20Manual_2008-3.pdf[ISMN Manual 2008, window='_blank']
|
||||||
*/
|
*/
|
||||||
class ISMN extends StandardNumber implements Cloneable, Comparable<ISMN> {
|
public class ISMN extends StandardNumber implements Cloneable, Comparable<ISMN> {
|
||||||
|
|
||||||
private static final Pattern PATTERN = Pattern.compile("[\\p{Digit}M\\p{Pd}]{0,17}");
|
private static final Pattern PATTERN = Pattern.compile("[\\p{Digit}M\\p{Pd}]{0,17}");
|
||||||
|
|
||||||
private boolean createWithChecksum;
|
private boolean createWithChecksum;
|
||||||
|
|
||||||
protected ISMN() {
|
public ISMN() {
|
||||||
super("ismn");
|
super("ismn");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,9 +15,9 @@ import java.util.regex.Pattern;
|
||||||
* and newspaper articles. Such an identifier consists of 16 numerical digits divided
|
* and newspaper articles. Such an identifier consists of 16 numerical digits divided
|
||||||
* into four blocks.
|
* into four blocks.
|
||||||
*
|
*
|
||||||
* Checksum calculation is in accordance to ISO/IEC 7064:2003, MOD 11-2
|
* Checksum calculation is in accordance to ISO/IEC 7064:2003, MOD 11-2.
|
||||||
*/
|
*/
|
||||||
class ISNI extends StandardNumber implements Cloneable, Comparable<ISNI> {
|
public class ISNI extends StandardNumber implements Cloneable, Comparable<ISNI> {
|
||||||
|
|
||||||
private static final Pattern PATTERN = Pattern.compile("[\\p{Digit}xX\\p{Pd}\\s]{16,24}");
|
private static final Pattern PATTERN = Pattern.compile("[\\p{Digit}xX\\p{Pd}\\s]{16,24}");
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ class ISNI extends StandardNumber implements Cloneable, Comparable<ISNI> {
|
||||||
|
|
||||||
private boolean createWithChecksum;
|
private boolean createWithChecksum;
|
||||||
|
|
||||||
protected ISNI() {
|
public ISNI() {
|
||||||
super("isni");
|
super("isni");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package org.xbib.standardnumber;
|
package org.xbib.standardnumber;
|
||||||
|
|
||||||
import org.xbib.standardnumber.checksum.iso7064.MOD1110;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
|
@ -57,7 +55,7 @@ import java.util.regex.Pattern;
|
||||||
* These particularities themselves necessitated the introduction
|
* These particularities themselves necessitated the introduction
|
||||||
* of the ISSN.
|
* of the ISSN.
|
||||||
*/
|
*/
|
||||||
class ISSN extends StandardNumber implements Cloneable, Comparable<ISSN> {
|
public class ISSN extends StandardNumber implements Cloneable, Comparable<ISSN> {
|
||||||
|
|
||||||
private static final Pattern PATTERN = Pattern.compile("[0-9]{4}\\p{Pd}?[0-9]{3}[0-9xX]");
|
private static final Pattern PATTERN = Pattern.compile("[0-9]{4}\\p{Pd}?[0-9]{3}[0-9xX]");
|
||||||
|
|
||||||
|
@ -65,7 +63,7 @@ class ISSN extends StandardNumber implements Cloneable, Comparable<ISSN> {
|
||||||
|
|
||||||
private boolean createWithChecksum;
|
private boolean createWithChecksum;
|
||||||
|
|
||||||
protected ISSN() {
|
public ISSN() {
|
||||||
super("issn");
|
super("issn");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ import java.util.regex.Pattern;
|
||||||
*
|
*
|
||||||
* Checksum algorithm is ISO 7064 MOD 16/3.
|
* Checksum algorithm is ISO 7064 MOD 16/3.
|
||||||
*/
|
*/
|
||||||
class ISTC extends StandardNumber implements Cloneable, Comparable<ISTC> {
|
public class ISTC extends StandardNumber implements Cloneable, Comparable<ISTC> {
|
||||||
|
|
||||||
private static final Pattern PATTERN = Pattern.compile("^[\\p{Alnum}\\p{Pd}\\s]{12,24}");
|
private static final Pattern PATTERN = Pattern.compile("^[\\p{Alnum}\\p{Pd}\\s]{12,24}");
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ class ISTC extends StandardNumber implements Cloneable, Comparable<ISTC> {
|
||||||
|
|
||||||
private boolean createWithChecksum;
|
private boolean createWithChecksum;
|
||||||
|
|
||||||
protected ISTC() {
|
public ISTC() {
|
||||||
super("istc");
|
super("istc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,13 +22,13 @@ import java.util.regex.Pattern;
|
||||||
* the system will deal with duplicate registrations by linking such registration records
|
* the system will deal with duplicate registrations by linking such registration records
|
||||||
* in the ISWC database.
|
* in the ISWC database.
|
||||||
*/
|
*/
|
||||||
class ISWC extends StandardNumber implements Cloneable, Comparable<ISWC> {
|
public class ISWC extends StandardNumber implements Cloneable, Comparable<ISWC> {
|
||||||
|
|
||||||
private static final Pattern PATTERN = Pattern.compile("[\\p{Alnum}\\p{Pd}\\s]{10,13}");
|
private static final Pattern PATTERN = Pattern.compile("[\\p{Alnum}\\p{Pd}\\s]{10,13}");
|
||||||
|
|
||||||
private String formatted;
|
private String formatted;
|
||||||
|
|
||||||
protected ISWC() {
|
public ISWC() {
|
||||||
super("iswc");
|
super("iswc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,9 +9,9 @@ import java.net.URI;
|
||||||
*
|
*
|
||||||
* Checksum calculation is according to ISO/IEC 7064:2003, MOD 11-2.
|
* Checksum calculation is according to ISO/IEC 7064:2003, MOD 11-2.
|
||||||
*/
|
*/
|
||||||
class ORCID extends ISNI {
|
public class ORCID extends ISNI {
|
||||||
|
|
||||||
protected ORCID() {
|
public ORCID() {
|
||||||
super("orcid");
|
super("orcid");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ import java.util.regex.Pattern;
|
||||||
* A catalog record numbering system, uniquely identifying records, used by PICA
|
* A catalog record numbering system, uniquely identifying records, used by PICA
|
||||||
* (Project voor geIntegreerde Catalogus Automatisering) integrated library systems.
|
* (Project voor geIntegreerde Catalogus Automatisering) integrated library systems.
|
||||||
*/
|
*/
|
||||||
class PPN extends StandardNumber implements Cloneable, Comparable<PPN> {
|
public class PPN extends StandardNumber implements Cloneable, Comparable<PPN> {
|
||||||
|
|
||||||
private static final Pattern PATTERN = Pattern.compile("[\\p{Digit}]{3,10}\\p{Pd}{0,1}[\\p{Digit}xX]{1}\\b");
|
private static final Pattern PATTERN = Pattern.compile("[\\p{Digit}]{3,10}\\p{Pd}{0,1}[\\p{Digit}xX]{1}\\b");
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ class PPN extends StandardNumber implements Cloneable, Comparable<PPN> {
|
||||||
|
|
||||||
private boolean createWithChecksum;
|
private boolean createWithChecksum;
|
||||||
|
|
||||||
protected PPN() {
|
public PPN() {
|
||||||
super("ppn");
|
super("ppn");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,13 +22,13 @@ import java.util.regex.Pattern;
|
||||||
* All of these data structures follow the global GS1 specification which bases on
|
* All of these data structures follow the global GS1 specification which bases on
|
||||||
* international standards.
|
* international standards.
|
||||||
*/
|
*/
|
||||||
class UPC extends StandardNumber implements Cloneable, Comparable<UPC> {
|
public class UPC extends StandardNumber implements Cloneable, Comparable<UPC> {
|
||||||
|
|
||||||
private static final Pattern PATTERN = Pattern.compile("[\\p{Digit}]{0,12}");
|
private static final Pattern PATTERN = Pattern.compile("[\\p{Digit}]{0,12}");
|
||||||
|
|
||||||
private boolean createWithChecksum;
|
private boolean createWithChecksum;
|
||||||
|
|
||||||
protected UPC() {
|
public UPC() {
|
||||||
super("upc");
|
super("upc");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ import java.util.regex.Pattern;
|
||||||
* See link:http://support.d-nb.de/iltis/onlineRoutinen/Pruefziffernberechnung.htm[Prüfziffernberechnung in ILTIS, window='_blank'],
|
* See link:http://support.d-nb.de/iltis/onlineRoutinen/Pruefziffernberechnung.htm[Prüfziffernberechnung in ILTIS, window='_blank'],
|
||||||
* link:https://wiki.dnb.de/pages/viewpage.action?pageId=48139522[DNB Wiki, window='_blank']
|
* link:https://wiki.dnb.de/pages/viewpage.action?pageId=48139522[DNB Wiki, window='_blank']
|
||||||
*/
|
*/
|
||||||
class ZDB extends StandardNumber implements Cloneable, Comparable<ZDB> {
|
public class ZDB extends StandardNumber implements Cloneable, Comparable<ZDB> {
|
||||||
|
|
||||||
private static final Pattern PATTERN = Pattern.compile("^[\\p{Digit}]{2,10}\\p{Pd}{0,1}[\\p{Digit}xX]{1}\\b");
|
private static final Pattern PATTERN = Pattern.compile("^[\\p{Digit}]{2,10}\\p{Pd}{0,1}[\\p{Digit}xX]{1}\\b");
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ class ZDB extends StandardNumber implements Cloneable, Comparable<ZDB> {
|
||||||
|
|
||||||
private boolean createWithChecksum;
|
private boolean createWithChecksum;
|
||||||
|
|
||||||
protected ZDB() {
|
public ZDB() {
|
||||||
super("zdb");
|
super("zdb");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue