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  classifications,
055  classificationDetails,
056
057  // humboldt
058  humboldtEventDurationValueInMinutes,
059
060  // nucleotide
061  nucleotide_nucleotideSequenceID,
062  nucleotide_sequence,
063  nucleotide_sequenceLength,
064  nucleotide_gcContent,
065  nucleotide_nonIupacFraction,
066  nucleotide_nonACGTNFraction,
067  nucleotide_nFraction,
068  nucleotide_nRunsCapped,
069  nucleotide_naturalLanguageDetected,
070  nucleotide_endsTrimmed,
071  nucleotide_gapsOrWhitespaceRemoved,
072  nucleotide_invalid;
073
074  private static final String PREFIX = "gbint";
075  private static final String NS = "http://rs.gbif.org/terms/internal/";
076  private static final URI NS_URI = URI.create(NS);
077
078  private static final String[] EMPTY = new String[0];
079
080  @Override
081  public String simpleName() {
082    return name();
083  }
084
085  @Override
086  public String toString() {
087    return prefixedName();
088  }
089
090  @Override
091  public String[] alternativeNames() {
092    return EMPTY;
093  }
094
095  @Override
096  public boolean isClass() {
097    return false;
098  }
099
100  @Override
101  public String prefix() {
102    return PREFIX;
103  }
104
105  @Override
106  public URI namespace() {
107    return NS_URI;
108  }
109}