ISO19115.java
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.tika.metadata;
/**
* Keys extracted from ISO 19139/19115 geographic metadata documents by
* {@code GeographicInformationParser} (via the Apache SIS/GeoAPI object model). Namespaced
* {@code iso19115:} + kebab-case (TIKA-4816 rename batch): the original spellings were this
* parser's own ad hoc coinages (bare PascalCase, a few with a stray trailing space, a trailing
* hyphen, or a trailing {@code -->}) predating curated {@link Property} constants -- the old
* literal spellings are bridged forward by {@code LegacyKeyMigrationFilter}'s migration table.
*
* <p>All but {@link #PARENT_METADATA_TITLE} and {@link #METADATA_IDENTIFIER_CODE} are BAG: each
* is written from a loop over a repeatable ISO 19139 element, so these can legitimately repeat.
*/
public interface ISO19115 {
Property CHARACTER_SET = Property.externalTextBag("iso19115:character-set");
Property CONTACT_ROLE = Property.externalTextBag("iso19115:contact-role");
Property CONTACT_PARTY_NAME = Property.externalTextBag("iso19115:contact-party-name");
Property CITATION_DATE = Property.externalTextBag("iso19115:citation-date");
Property CITED_RESPONSIBLE_PARTY_ROLE =
Property.externalTextBag("iso19115:cited-responsible-party-role");
Property CITED_RESPONSIBLE_PARTY_NAME =
Property.externalTextBag("iso19115:cited-responsible-party-name");
Property CITED_RESPONSIBLE_PARTY_ORGANIZATION_NAME =
Property.externalTextBag("iso19115:cited-responsible-party-organization-name");
Property CITED_RESPONSIBLE_PARTY_POSITION_NAME =
Property.externalTextBag("iso19115:cited-responsible-party-position-name");
Property CITED_RESPONSIBLE_PARTY_EMAIL =
Property.externalTextBag("iso19115:cited-responsible-party-email");
Property IDENTIFICATION_INFO_STATUS = Property.externalTextBag("iso19115:identification-info-status");
Property RESOURCE_FORMAT_SPECIFICATION_ALTERNATIVE_TITLE =
Property.externalTextBag("iso19115:resource-format-specification-alternative-title");
Property IDENTIFICATION_INFO_TOPIC_CATEGORY =
Property.externalTextBag("iso19115:identification-info-topic-category");
Property THESAURUS_NAME_DATE = Property.externalTextBag("iso19115:thesaurus-name-date");
Property ACCESS_CONSTRAINTS = Property.externalTextBag("iso19115:access-constraints");
Property OTHER_CONSTRAINTS = Property.externalTextBag("iso19115:other-constraints");
Property USER_CONSTRAINTS = Property.externalTextBag("iso19115:user-constraints");
Property GEOGRAPHIC_IDENTIFIER_CODE = Property.externalTextBag("iso19115:geographic-identifier-code");
Property GEOGRAPHIC_IDENTIFIER_AUTHORITY_TITLE =
Property.externalTextBag("iso19115:geographic-identifier-authority-title");
Property GEOGRAPHIC_IDENTIFIER_AUTHORITY_ALTERNATIVE_TITLE =
Property.externalTextBag("iso19115:geographic-identifier-authority-alternative-title");
Property GEOGRAPHIC_IDENTIFIER_AUTHORITY_DATE =
Property.externalTextBag("iso19115:geographic-identifier-authority-date");
Property DISTRIBUTION_FORMAT_SPECIFICATION_ALTERNATIVE_TITLE =
Property.externalTextBag("iso19115:distribution-format-specification-alternative-title");
Property DISTRIBUTOR_CONTACT = Property.externalTextBag("iso19115:distributor-contact");
Property DISTRIBUTOR_ORGANIZATION_NAME =
Property.externalTextBag("iso19115:distributor-organization-name");
Property TRANSFER_OPTIONS_ONLINE_LINKAGE =
Property.externalTextBag("iso19115:transfer-options-online-linkage");
Property TRANSFER_OPTIONS_ONLINE_PROTOCOL =
Property.externalTextBag("iso19115:transfer-options-online-protocol");
Property TRANSFER_OPTIONS_ONLINE_PROFILE =
Property.externalTextBag("iso19115:transfer-options-online-profile");
Property TRANSFER_OPTIONS_ONLINE_NAME =
Property.externalTextBag("iso19115:transfer-options-online-name");
Property TRANSFER_OPTIONS_ONLINE_DESCRIPTION =
Property.externalTextBag("iso19115:transfer-options-online-description");
Property TRANSFER_OPTIONS_ONLINE_FUNCTION =
Property.externalTextBag("iso19115:transfer-options-online-function");
Property DATE_INFO = Property.externalTextBag("iso19115:date-info");
Property METADATA_RESOURCE_SCOPE = Property.externalTextBag("iso19115:metadata-resource-scope");
/** Single-valued: read from one {@code Citation}, not a loop. */
Property PARENT_METADATA_TITLE = Property.externalText("iso19115:parent-metadata-title");
/** Single-valued: read from one {@code Identifier}, not a loop. */
Property METADATA_IDENTIFIER_CODE = Property.externalText("iso19115:metadata-identifier-code");
Property METADATA_STANDARD_TITLE = Property.externalTextBag("iso19115:metadata-standard-title");
Property METADATA_STANDARD_EDITION = Property.externalTextBag("iso19115:metadata-standard-edition");
}