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