001package org.gbif.api.vocabulary;
002
003/*
004 * Copyright 2013 Global Biodiversity Information Facility (GBIF)
005 *
006 * Licensed under the Apache License, Version 2.0 (the "License");
007 * you may not use this file except in compliance with the License.
008 * You may obtain a copy of the License at
009 *
010 *     http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS,
014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015 * See the License for the specific language governing permissions and
016 * limitations under the License.
017 */
018
019import org.gbif.api.util.VocabularyUtils;
020
021/**
022 * Enumeration for all endpoint types.
023 */
024public enum EndpointType {
025  /**
026   * A single <a href="http://knb.ecoinformatics.org/software/eml/">EML metadata document</a> in any EML version.
027   */
028  EML,
029  /**
030   * Syndication feeds like RSS or ATOM of various flavors.
031   * The feeds can serve very different purpose, for example if attached to an organisation it can be news items.
032   * Attached to a technical installation like the IPT it should return the latest dataset resources.
033   */
034  FEED,
035  /**
036   * An OGC Web Feature Service.
037   */
038  WFS,
039  /**
040   * An OGC Web Map Service.
041   */
042  WMS,
043  /**
044   * Taxon Concept data given as RDF
045   * based on the <a href="http://rs.tdwg.org/ontology/voc/TaxonConcept.rdf">TDWG ontology</a>.
046   */
047  TCS_RDF,
048  /**
049   * A Taxon Concept Schema document.
050   * @see <a href="http://www.tdwg.org/standards/117/">TDWG TCS Standard</a>.
051   */
052  TCS_XML,
053  /**
054   * A Darwin Core Archive as defined by the <a href="http://rs.tdwg.org/dwc/terms/guides/text/index.htm">Darwin Core Text Guidelines</a>.
055   */
056  DWC_ARCHIVE,
057  /**
058   * A <a href="http://digir.sourceforge.net/">DiGIR</a> service endpoint.
059   */
060  DIGIR,
061  /**
062   * A DiGIR service slightly modified for the MANIS network.
063   */
064  DIGIR_MANIS,
065  /**
066   * A <a href="http://www.tdwg.org/dav/subgroups/tapir/1.0/docs/">TAPIR</a> service.
067   */
068  TAPIR,
069  /**
070   * A <a href="http://www.biocase.org/products/protocols/index.shtml">BioCASe</a> protocl compliant service.
071   */
072  BIOCASE,
073  /**
074   * The Open Archives Initiative Protocol for Metadata Harvesting.
075   * A <a href="http://www.openarchives.org/OAI/openarchivesprotocol.html">OAI-PMH</a> compliant data provider service.
076   */
077  OAI_PMH,
078  /**
079   * Any other service not covered by this enum so far.
080   */
081  OTHER;
082
083  /**
084   * @return the matching EndpointType or null
085   */
086  public static EndpointType fromString(String endpointType) {
087    return (EndpointType) VocabularyUtils.lookupEnum(endpointType, EndpointType.class);
088  }
089
090}