001/*
002 * Copyright 2021 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.dwc.terms;
017
018import java.net.URI;
019
020/**
021 * Internal GBIF terms used for processing, fragmenting, crawling, ...
022 * These are not exposed in downloads or the public API.
023 */
024public enum GbifInternalTerm implements Term, AlternativeNames {
025  identifierCount,
026  crawlId,
027  fragment,
028  fragmentHash,
029  fragmentCreated,
030  xmlSchema,
031  publishingOrgKey,
032  unitQualifier,
033  networkKey,
034  installationKey,
035  programmeAcronym,
036  collectionKey,
037  institutionKey,
038  hostingOrganizationKey,
039  isInCluster,
040  dwcaExtension,
041  datasetTitle,
042  datasetCategory,
043
044  // Lower and upper endpoints for eventDates
045  eventDateGte,
046  eventDateLte,
047
048  //Experimental Terms for Events indexing
049  parentEventGbifId,
050
051  // multi taxonomy classifications
052  taxonKeys,
053  taxonomicStatuses,
054  taxonomicIssues,
055  classifications,
056  classificationDetails,
057
058  // humboldt
059  humboldtEventDurationValueInMinutes,
060
061  // nucleotide
062  nucleotide_nucleotideSequenceID,
063  nucleotide_sequence,
064  nucleotide_sequenceLength,
065  nucleotide_gcContent,
066  nucleotide_nonIupacFraction,
067  nucleotide_nonACGTNFraction,
068  nucleotide_nFraction,
069  nucleotide_nRunsCapped,
070  nucleotide_naturalLanguageDetected,
071  nucleotide_endsTrimmed,
072  nucleotide_gapsOrWhitespaceRemoved,
073  nucleotide_invalid;
074
075  private static final String PREFIX = "gbint";
076  private static final String NS = "http://rs.gbif.org/terms/internal/";
077  private static final URI NS_URI = URI.create(NS);
078
079  private static final String[] EMPTY = new String[0];
080
081  @Override
082  public String simpleName() {
083    return name();
084  }
085
086  @Override
087  public String toString() {
088    return prefixedName();
089  }
090
091  @Override
092  public String[] alternativeNames() {
093    return EMPTY;
094  }
095
096  @Override
097  public boolean isClass() {
098    return false;
099  }
100
101  @Override
102  public String prefix() {
103    return PREFIX;
104  }
105
106  @Override
107  public URI namespace() {
108    return NS_URI;
109  }
110}