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
043  // Lower and upper endpoints for eventDates
044  eventDateGte,
045  eventDateLte,
046
047  //Experimental Terms for Events indexing
048  parentEventGbifId,
049
050  // multi taxonomy classifications
051  taxonomicStatuses,
052  classifications,
053  classificationDetails,
054
055  // humboldt
056  humboldtEventDurationValueInMinutes;
057
058  private static final String PREFIX = "gbint";
059  private static final String NS = "http://rs.gbif.org/terms/internal/";
060  private static final URI NS_URI = URI.create(NS);
061
062  private static final String[] EMPTY = new String[0];
063
064  @Override
065  public String simpleName() {
066    return name();
067  }
068
069  @Override
070  public String toString() {
071    return prefixedName();
072  }
073
074  @Override
075  public String[] alternativeNames() {
076    return EMPTY;
077  }
078
079  @Override
080  public boolean isClass() {
081    return false;
082  }
083
084  @Override
085  public String prefix() {
086    return PREFIX;
087  }
088
089  @Override
090  public URI namespace() {
091    return NS_URI;
092  }
093}