public final class LifeScienceIdentifier extends Object implements Serializable
urn:lsid:<authorityId>:<namespaceId>:<objectId>:<revisionId>
The elements of a LSID are as follows:
Examples:
urn:lsid:ebi.ac.uk:SWISS-PROT/accession:P34355:3 urn:lsid:rcsb.org:PDB:1D4X:22 urn:lsid:ncbi.nlm.nih.gov:Genbank/accession:NT_001063:2
As described in the memo URN Namespace for Life Science Identifiers
>
http://www.i3c.org/workgroups/technical_architecture/resources/lsid/docs/LSIDSyntax9-20-02.htm
TODO:
Should this class support the spec definition of "lexical
equivalence" in the equals(Object) method, or by the introduction
of a new method boolean lexicallyEquivalent(LifeScienceIdentifier)
?
From the spec:
For various purposes such as caching and replication, it's often desirable
to determine if two LSIDs are the same without resolving them. The general
purpose means of doing so is by testing for "lexical equivalence" as defined:
LSIDs are lexically equivalent if the AuthorityID, NamespaceID, ObjectID, and
RevisionID are all identical (case-insensitive comparison).
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object value) |
String |
getAuthorityId()
Return the authority id for this identifier.
|
String |
getNamespaceId()
Return the namespace id for this identifier
within the authority.
|
String |
getObjectId()
Return the object id of this identifier.
|
String |
getRevisionId()
Return the revision id of this identifier.
|
int |
hashCode() |
String |
toString() |
static LifeScienceIdentifier |
valueOf(String lsid)
Create a new LifeScienceIdentifier parsed
from the properly formatted string
lsid . |
static LifeScienceIdentifier |
valueOf(String authorityId,
String namespaceId,
String objectId)
Create a new LifeScienceIdentifier from the
specified parameters.
|
static LifeScienceIdentifier |
valueOf(String authorityId,
String namespaceId,
String objectId,
String revisionId)
Create a new LifeScienceIdentifier from the
specified parameters.
|
public String getAuthorityId()
public String getNamespaceId()
public String getObjectId()
public String getRevisionId()
public static LifeScienceIdentifier valueOf(String lsid) throws LifeScienceIdentifierParseException
lsid
.lsid
- formatted LifeScienceIdentifier stringLifeScienceIdentifierParseException
- if lsid
is not properly formattedpublic static LifeScienceIdentifier valueOf(String authorityId, String namespaceId, String objectId, String revisionId)
authorityId
- identifies the organizationnamespaceId
- namespace to scope the identifier valueobjectId
- identifer of the object within namespacerevisionId
- optional version informationNullPointerException
- if any of authorityId
,
namespaceId
, or objectId
are nullpublic static LifeScienceIdentifier valueOf(String authorityId, String namespaceId, String objectId)
authorityId
- identifies the organizationnamespaceId
- namespace to scope the identifier valueobjectId
- identifer of the object within namespaceNullPointerException
- if any of authorityId
,
namespaceId
, or objectId
are nullCopyright © 2014 BioJava. All rights reserved.