public class DOI extends StandardNumber implements java.lang.Cloneable, java.lang.Comparable<DOI>
ISO 26324: Digital Object Identifier System (DOI), Z39.50 BIB-1 Use Attribute 1094.
DOI is an acronym for "digital object identifier", meaning a "digital identifier of an object" rather than an "identifier of a digital object". The DOI system was initiated by the International DOI Foundation in 1998, and initially developed with the collaboration of some participants in ISO/TC46/SC9. Due to its application in the fields of information and documentation and previous collaboration with some ISO/TC46/SC9 participants, it was introduced as a possible work item in 2004 and further developed from 2006 to 2010.
The DOI system is designed to work over the Internet. A DOI name is permanently assigned to an object to provide a resolvable persistent network link to current information about that object, including where the object, or information about it, can be found on the Internet. While information about an object can change over time, its DOI name will not change. A DOI name can be resolved within the DOI system to values of one or more types of data relating to the object identified by that DOI name, such as a URL, an e-mail address, other identifiers and descriptive metadata.
The DOI system enables the construction of automated services and transactions. Applications of the DOI system include but are not limited to managing information and documentation location and access; managing metadata; facilitating electronic transactions; persistent unique identification of any form of any data; and commercial and non-commercial transactions.
The content of an object associated with a DOI name is described unambiguously by DOI metadata, based on a structured extensible data model that enables the object to be associated with metadata of any desired degree of precision and granularity to support description and services. The data model supports interoperability between DOI applications.
The scope of the DOI system is not defined by reference to the type of content (format, etc.) of the referent, but by reference to the functionalities it provides and the context of use. The DOI system provides, within networks of DOI applications, for unique identification, persistence, resolution, metadata and semantic interoperability.
type, value
Constructor and Description |
---|
DOI() |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
clone()
Returns a clone if the implementation is cloneable.
|
int |
compareTo(DOI doi) |
DOI |
createChecksum(boolean checksum)
Indicate that a correct check sum should be computed.
|
boolean |
equals(java.lang.Object object) |
java.lang.String |
format()
Return a formatted value of this standard number
This is best for human-readable representation, but is
not necessarily a format for computation.
|
static StandardNumber |
getInstance(java.lang.Package thePackage,
java.lang.ClassLoader classLoader,
java.lang.String type) |
static StandardNumber |
getInstance(java.lang.String type) |
java.util.Collection<java.lang.String> |
getTypedVariants() |
int |
hashCode() |
boolean |
isValid()
Check this number for validity.
|
DOI |
normalize()
Normalize the value by removing all unwanted characters or
replacing characters with the ones required for verification.
|
java.lang.String |
normalizedValue()
Return normalized value of this standard number.
|
DOI |
reset() |
DOI |
verify()
Verify the number.
|
set, type
public DOI createChecksum(boolean checksum)
StandardNumber
Indicate that a correct check sum should be computed.
createChecksum
in class StandardNumber
checksum
- if checksum is includedpublic DOI normalize()
StandardNumber
Normalize the value by removing all unwanted characters or replacing characters with the ones required for verification.
normalize
in class StandardNumber
public boolean isValid()
StandardNumber
Check this number for validity.
isValid
in class StandardNumber
public DOI verify()
StandardNumber
Verify the number.
verify
in class StandardNumber
public java.lang.String normalizedValue()
StandardNumber
Return normalized value of this standard number. In most cases, this is also the canonical form of the standard number. This is a representation without unneccessary characters, useful for computation purposes, like comparing for equivalence.
normalizedValue
in class StandardNumber
public java.lang.String format()
StandardNumber
Return a formatted value of this standard number This is best for human-readable representation, but is not necessarily a format for computation.
format
in class StandardNumber
public java.util.Collection<java.lang.String> getTypedVariants()
getTypedVariants
in class StandardNumber
public DOI reset()
reset
in class StandardNumber
public int compareTo(DOI doi)
compareTo
in interface java.lang.Comparable<DOI>
public boolean equals(java.lang.Object object)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
java.lang.CloneNotSupportedException
- if this is called on an
implementation that does not support `Cloneable`public static StandardNumber getInstance(java.lang.String type) throws NoSuchStandardNumberException
NoSuchStandardNumberException
public static StandardNumber getInstance(java.lang.Package thePackage, java.lang.ClassLoader classLoader, java.lang.String type) throws NoSuchStandardNumberException
NoSuchStandardNumberException