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 * All Audiovisual Core terms with namespace http://rs.tdwg.org/ac/terms/.
022 * See
023 * <ul>
024 *   <li>http://rs.tdwg.org/ac/doc/termlist/2022-02-23 verison implemented here</li>
025 *   <li>https://ac.tdwg.org/termlist/</li>
026 * </ul>
027 */
028public enum AcTerm implements Term, AlternativeNames {
029
030  Multimedia, // this row type term is not defined in the AC termlist, but used in the GBIF extension and required for DwC-A
031  RegionOfInterest,
032  ServiceAccessPoint,
033
034  accessURI,
035  associatedObservationReference,
036  associatedSpecimenReference,
037  attributionLinkURL,
038  attributionLogoURL,
039  caption,
040  captureDevice,
041  commenter,
042  commenterLiteral,
043  comments,
044  derivedFrom,
045  digitizationDate,
046  endTime,
047  endTimestamp,
048  frameRate,
049  freqHigh,
050  freqLow,
051  fundingAttribution,
052  furtherInformationURL,
053  hashFunction,
054  hashValue,
055  hasROI,
056  hasServiceAccessPoint,
057  heightFrac,
058  IDofContainingCollection,
059  isROIOf,
060  licenseLogoURL,
061  licensingException,
062  mediaDuration,
063  mediaSpeed,
064  metadataCreator,
065  metadataCreatorLiteral,
066  metadataLanguage,
067  metadataLanguageLiteral,
068  metadataProvider,
069  metadataProviderLiteral,
070  otherScientificName,
071  physicalSetting,
072  provider,
073  providerID,
074  providerLiteral,
075  providerManagedID,
076  radius,
077  relatedResourceID,
078  resourceCreationTechnique,
079  reviewer,
080  reviewerComments,
081  reviewerLiteral,
082  serviceExpectation,
083  startTime,
084  startTimestamp,
085  subjectCategoryVocabulary,
086  subjectOrientation,
087  subjectOrientationLiteral,
088  subjectPart,
089  subjectPartLiteral,
090  subtype,
091  subtypeLiteral,
092  tag,
093  taxonCount,
094  taxonCoverage,
095  timeOfDay,
096  variant,
097  variantDescription,
098  variantLiteral,
099  widthFrac,
100  xFrac,
101  yFrac;
102
103  private static final String PREFIX = "ac";
104  private static final String NS = "http://rs.tdwg.org/ac/terms/";
105  private static final URI NS_URI = URI.create(NS);
106
107  @Override
108  public String toString() {
109    return prefixedName();
110  }
111
112  @Override
113  public String simpleName() {
114    return name();
115  }
116
117  @Override
118  public String[] alternativeNames() {
119    return new String[]{};
120  }
121
122  @Override
123  public boolean isClass() {
124    return this == Multimedia || this == RegionOfInterest || this == ServiceAccessPoint;
125  }
126
127  @Override
128  public String prefix() {
129    return PREFIX;
130  }
131
132  @Override
133  public URI namespace() {
134    return NS_URI;
135  }
136}