001package org.gbif.api.model.occurrence;
002
003/**
004 * Custom functions supported by the SQL download API.
005 */
006public enum SqlDownloadFunction {
007  // Builtin function used in classification queries, not known by Calcite.
008  ARRAYS_OVERLAP("ARRAYS_OVERLAP"),
009
010  // GBIF custom functions
011  DEGREE_MINUTE_SECOND_GRID_CELL_CODE("GBIF_DMSGCode"),
012  EEA_CELL_CODE("GBIF_EEARGCode"),
013  EUROSTAT_CELL_CODE("GBIF_EuroStatCode"),
014  ISEA3H_CELL_CODE("GBIF_ISEA3HCode"),
015  MILITARY_GRID_REFERENCE_SYSTEM_CELL_CODE("GBIF_MGRSCode"),
016  EXTENDED_QUARTER_DEGREE_GRID_CELL_CODE("GBIF_EQDGCode"),
017  TEMPORAL_UNCERTAINTY("GBIF_TemporalUncertainty"),
018  GEO_DISTANCE("GBIF_GeoDistance"),
019  MILLISECONDS_TO_ISO8601("GBIF_MillisecondsToISO8601"),
020  SECONDS_TO_ISO8601("GBIF_SecondsToISO8601"),
021  SECONDS_TO_LOCAL_ISO8601("GBIF_SecondsToLocalISO8601"),
022  CONTAINS("GBIF_Within"),
023  STRING_ARRAY_CONTAINS_GENERIC("GBIF_StringArrayContains"),
024  STRING_ARRAY_LIKE_GENERIC("GBIF_StringArrayLike");
025
026  private final String sqlIdentifier;
027
028  SqlDownloadFunction(String sqlIdentifier) {
029    this.sqlIdentifier = sqlIdentifier;
030  }
031
032  public String getSqlIdentifier() {
033    return sqlIdentifier;
034  }
035}