001/*
002 * Copyright 2014 Global Biodiversity Information Facility (GBIF)
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *     http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package org.gbif.api.vocabulary;
017
018/**
019 * Enumeration representing the different nomenclatoral codes found in biology for scientific names.
020 * <p/>
021 * Nomenclature codes or codes of nomenclature are the various rulebooks that govern biological taxonomic
022 * nomenclature, each in their own broad field of organisms.
023 * To an end-user who only deals with names of species, with some awareness that species are assignable to
024 * families, it may not be noticeable that there is more than one code, but beyond this basic level these are rather
025 * different in the way they work.
026 *
027 * @see <a href="http://en.wikipedia.org/wiki/Nomenclature_codes">Nomenclature codes (Wikipedia)</a>
028 */
029public enum NomenclaturalCode {
030
031  BACTERIAL("ICNB", "International Code of Nomenclature of Bacteria", "http://www.ncbi.nlm.nih.gov/books/NBK8808/"),
032  BOTANICAL("ICBN", "International Code of Botanical Nomenclature", "http://ibot.sav.sk/icbn/main.htm"),
033  BIOCODE("BC", "BioCode", "http://www.bgbm.org/iapt/biocode/"),
034  CULTIVARS("ICNCP", "International Code of Nomenclature for Cultivated Plants", ""),
035  PHYLOCODE("PC", "Phylocode", "http://www.ohio.edu/phylocode/index.html"),
036  PHYTOSOCIOLOGY("ICPN", "International Code of Phytosociological Nomenclature", "http://www.iavs.org/pdf/Code.pdf"),
037  VIRUS("ICVCN", "International Code of Virus Classifications and Nomenclature", "http://talk.ICTVonline.org/"),
038  ZOOLOGICAL("ICZN",
039             "International Code of Zoological Nomenclature",
040             "http://www.nhm.ac.uk/hosted-sites/iczn/code/index.jsp");
041
042  private final String title;
043  private final String acronym;
044  private final String link;
045
046  NomenclaturalCode(String acronym, String title, String link) {
047    this.acronym = acronym;
048    this.link = link;
049    this.title = title;
050  }
051
052  public String getAcronym() {
053    return acronym;
054  }
055
056  public String getLink() {
057    return link;
058  }
059
060  public String getTitle() {
061    return title;
062  }
063
064}