package org.nextprot.api.core.utils.dbxref.resolver;
import org.nextprot.api.core.domain.CvDatabasePreferredLink;
import org.nextprot.api.core.domain.DbXref;
class EnsemblXrefURLResolver extends DefaultDbXrefURLResolver {
@Override
public String getTemplateURL(DbXref xref) {
String accession = xref.getAccession();
if (accession.startsWith("ENST")) {
return CvDatabasePreferredLink.ENSEMBL_TRANSCRIPT.getLink();
}
else if (accession.startsWith("ENSP")) {
return CvDatabasePreferredLink.ENSEMBL_PROTEIN.getLink();
}
else if (accession.startsWith("ENSG")) {
return CvDatabasePreferredLink.ENSEMBL_GENE.getLink();
}
else {
throw new UnresolvedXrefURLException("unknown accession number '"+accession+"': valid identifier should have prefix ENST, ENSP or ENSG");
}
}
}