80 lines
3.1 KiB
Java
80 lines
3.1 KiB
Java
|
|
||
|
package eu.dnetlib.dhp.schema.oaf.utils;
|
||
|
|
||
|
import org.apache.commons.lang3.EnumUtils;
|
||
|
|
||
|
public enum PidType {
|
||
|
|
||
|
/**
|
||
|
* The DOI syntax shall be made up of a DOI prefix and a DOI suffix separated by a forward slash.
|
||
|
*
|
||
|
* There is no defined limit on the length of the DOI name, or of the DOI prefix or DOI suffix.
|
||
|
*
|
||
|
* The DOI name is case-insensitive and can incorporate any printable characters from the legal graphic characters
|
||
|
* of Unicode. Further constraints on character use (e.g. use of language-specific alphanumeric characters) can be
|
||
|
* defined for an application by the ISO 26324 Registration Authority.
|
||
|
*
|
||
|
*
|
||
|
* DOI prefix: The DOI prefix shall be composed of a directory indicator followed by a registrant code.
|
||
|
* These two components shall be separated by a full stop (period). The directory indicator shall be "10" and
|
||
|
* distinguishes the entire set of character strings (prefix and suffix) as digital object identifiers within the
|
||
|
* resolution system.
|
||
|
*
|
||
|
* Registrant code: The second element of the DOI prefix shall be the registrant code. The registrant code is a
|
||
|
* unique string assigned to a registrant.
|
||
|
*
|
||
|
* DOI suffix: The DOI suffix shall consist of a character string of any length chosen by the registrant.
|
||
|
* Each suffix shall be unique to the prefix element that precedes it. The unique suffix can be a sequential number,
|
||
|
* or it might incorporate an identifier generated from or based on another system used by the registrant
|
||
|
* (e.g. ISAN, ISBN, ISRC, ISSN, ISTC, ISNI; in such cases, a preferred construction for such a suffix can be
|
||
|
* specified, as in Example 1).
|
||
|
*
|
||
|
* Source: https://www.doi.org/doi_handbook/2_Numbering.html#2.2
|
||
|
*/
|
||
|
doi,
|
||
|
|
||
|
/**
|
||
|
* PubMed Unique Identifier (PMID)
|
||
|
*
|
||
|
* This field is a 1-to-8 digit accession number with no leading zeros. It is present on all records and is the
|
||
|
* accession number for managing and disseminating records. PMIDs are not reused after records are deleted.
|
||
|
*
|
||
|
* Beginning in February 2012 PMIDs include extensions following a decimal point to account for article versions
|
||
|
* (e.g., 21804956.2). All citations are considered version 1 until replaced. The extended PMID is not displayed
|
||
|
* on the MEDLINE format.
|
||
|
*
|
||
|
* View the citation in abstract format in PubMed to access additional versions when available (see the article in
|
||
|
* the Jan-Feb 2012 NLM Technical Bulletin).
|
||
|
*
|
||
|
* Source: https://www.nlm.nih.gov/bsd/mms/medlineelements.html#pmid
|
||
|
*/
|
||
|
pmid,
|
||
|
|
||
|
/**
|
||
|
* This field contains the unique identifier for the cited article in PubMed Central. The identifier begins with the
|
||
|
* prefix PMC.
|
||
|
*
|
||
|
* Source: https://www.nlm.nih.gov/bsd/mms/medlineelements.html#pmc
|
||
|
*/
|
||
|
pmc, handle, arXiv, nct, pdb, w3id,
|
||
|
|
||
|
// Organization
|
||
|
openorgs, ROR, GRID, PIC, ISNI, Wikidata, FundRef, corda, corda_h2020, mag_id, urn,
|
||
|
|
||
|
// Used by dedup
|
||
|
undefined, original;
|
||
|
|
||
|
public static boolean isValid(String type) {
|
||
|
return EnumUtils.isValidEnum(PidType.class, type);
|
||
|
}
|
||
|
|
||
|
public static PidType tryValueOf(String s) {
|
||
|
try {
|
||
|
return PidType.valueOf(s);
|
||
|
} catch (Exception e) {
|
||
|
return PidType.original;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|