blob: 1c30e27cdf0358a22de27e631fc7a9aec285dbd5 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (21) on Thu Oct 05 19:54:57 CEST 2023 -->
<title>ModifiableLocationType (Apache SIS 1.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2023-10-05">
<meta name="description" content="declaration: module: org.apache.sis.referencing.gazetteer, package: org.apache.sis.referencing.gazetteer, class: ModifiableLocationType">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="org.apache.sis.referencing.gazetteer.ModifiableLocationType class">
<meta name="keywords" content="getName()">
<meta name="keywords" content="getTheme()">
<meta name="keywords" content="setTheme()">
<meta name="keywords" content="getIdentifications()">
<meta name="keywords" content="addIdentification()">
<meta name="keywords" content="removeIdentification()">
<meta name="keywords" content="getDefinition()">
<meta name="keywords" content="setDefinition()">
<meta name="keywords" content="getTerritoryOfUse()">
<meta name="keywords" content="setTerritoryOfUse()">
<meta name="keywords" content="getOwner()">
<meta name="keywords" content="setOwner()">
<meta name="keywords" content="getParents()">
<meta name="keywords" content="getChildren()">
<meta name="keywords" content="addParent()">
<meta name="keywords" content="removeParent()">
<meta name="keywords" content="getReferenceSystem()">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../sis.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Summary:</p>
<ul>
<li>Nested</li>
<li>Field</li>
<li><a href="#constructor-summary">Constr</a></li>
<li><a href="#method-summary">Method</a></li>
</ul>
</li>
<li>
<p>Detail:</p>
<ul>
<li>Field</li>
<li><a href="#constructor-detail">Constr</a></li>
<li><a href="#method-detail">Method</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><a href="../../../../../../search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Search">
<input type="reset" id="reset-button" disabled value="reset">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">org.apache.sis.referencing.gazetteer</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.referencing.gazetteer</a></div>
<h1 title="Class ModifiableLocationType" class="title">Class ModifiableLocationType</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
<div class="inheritance">ModifiableLocationType</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ModifiableLocationType</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
<div class="block">Helper class for building the description of a location. Temporary instances of this class can be used
during the construction of <cite>spatial reference systems using geographic identifiers</cite>.
Since <code>Modifiable­Location­Type</code> instances are modifiable, they should not be published directly.
Instead, unmodifiable <a href="#snapshot(org.apache.sis.referencing.gazetteer.ReferencingByIdentifiers,org.apache.sis.referencing.gazetteer.AbstractLocationType...)">snapshots</a> should be published.
The same <code>Modifiable­Location­Type</code> instance can be used for many snapshots.
<h2 id="example-heading">Example</h2>
The following code creates 3 levels of location types: <var>administrative areas</var>, which contain
<var>towns</var>, which themselves contain <var>streets</var>. Note that the <code>street</code> location
type has two parents, <code>town</code> and <code>area</code>, because a street can be outside any town and
directly under the authority of an administrative area instead.
<div class="snippet-container"><button class="copy snippet-copy" aria-label="Copy snippet" onclick="copySnippet(this)"><span data-copied="Copied!">Copy</span><img src="../../../../../../copy.svg" alt="Copy snippet"></button>
<pre class="snippet"><code class="language-java">ModifiableLocationType area = new ModifiableLocationType("administrative area");
ModifiableLocationType town = new ModifiableLocationType("town");
ModifiableLocationType street = new ModifiableLocationType("street");
area .setTheme("local administration");
town .setTheme("built environment");
street.setTheme("access");
area .setDefinition("area of responsibility of highest level local authority");
town .setDefinition("city or town");
street.setDefinition("thoroughfare providing access to properties");
town .addParent(area);
street.addParent(area);
street.addParent(town);
</code></pre>
</div>
A string representation of the <code>area</code> location type is as below:
<pre class="text">
administrative area………………… area of responsibility of highest level local authority
  ├─town……………………………………………… city or town
  │   └─street……………………………… thoroughfare providing access to properties
  └─street………………………………………… thoroughfare providing access to properties</pre>
<h2 id="inheritance-of-property-values-heading">Inheritance of property values</h2>
According ISO 19112:2003, all properties except the collection of
<a href="#getParents()">parents</a> and <a href="#getChildren()">children</a> are mandatory.
Those mandatory properties are the <a href="#getName()">name</a>, <a href="#getTheme()">theme</a>,
<a href="#getIdentifications()">identifications</a>, <a href="#getDefinition()">definition</a>,
<a href="#getTerritoryOfUse()">territory of use</a> and <a href="#getOwner()">owner</a>.
However, in Apache SIS implementation, only the name is truly mandatory;
SIS is tolerant to missing value for all other properties.
But in the hope to improve ISO compliance, values of undefined properties are inherited
from the parents (if any) provided that all parents define the same values.
<h2 id="example-heading1">Example</h2>
If an <var>administrative area</var> is in some <a href="#getTerritoryOfUse()">territory of use</a>,
then all children of the administrative area (namely <var>towns</var> and <var>streets</var>) can
reasonably presumed to be in the same territory of use. That territory can be specified only once
as below:
<div class="snippet-container"><button class="copy snippet-copy" aria-label="Copy snippet" onclick="copySnippet(this)"><span data-copied="Copied!">Copy</span><img src="../../../../../../copy.svg" alt="Copy snippet"></button>
<pre class="snippet"><code class="language-java">area.setTerritoryOfUse("Japan");
</code></pre>
</div>
Then, the towns and streets automatically inherit the same value for that property,
unless they are explicitly given another value.
<h2 id="limitation-heading">Limitation</h2>
This class is not serializable and is not thread-safe. For thread safety or for serialization,
a <a href="#snapshot(org.apache.sis.referencing.gazetteer.ReferencingByIdentifiers,org.apache.sis.referencing.gazetteer.AbstractLocationType...)">snapshots</a> of this location type should be taken.</div>
<dl class="notes">
<dt>Since:</dt>
<dd>0.8</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer"><code>Abstract­Location</code></a></li>
<li><a href="ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer"><code>Referencing­By­Identifiers</code></a></li>
</ul>
</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.CharSequence)" class="member-name-link">Modifiable­Location­Type</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link">Char­Sequence</a>&nbsp;name)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a new location type of the given name.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addIdentification(java.lang.CharSequence)" class="member-name-link">add­Identification</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link">Char­Sequence</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds a method of uniquely identifying location instances.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addParent(org.apache.sis.referencing.gazetteer.ModifiableLocationType)" class="member-name-link">add­Parent</a><wbr>(<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">Modifiable­Location­Type</a>&nbsp;parent)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds the given element to the list of parents.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(java.lang.Object)" class="member-name-link">equals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;object)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Compares this location type with the specified object for strict equality.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)" class="member-name-link">equals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;object,
<a href="../../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html" title="enum class in org.apache.sis.util">Comparison­Mode</a>&nbsp;mode)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Compares this location type with the specified object for equality.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><wbr>&lt;<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">Modifiable­Location­Type</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getChildren()" class="member-name-link">get­Children</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the child location types (location types which sub-divides this location type).</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/InternationalString.html" title="class or interface in org.opengis.util" class="external-link">International­String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDefinition()" class="member-name-link">get­Definition</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the way in which location instances are defined.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><wbr>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/InternationalString.html" title="class or interface in org.opengis.util" class="external-link">International­String</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getIdentifications()" class="member-name-link">get­Identifications</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the method(s) of uniquely identifying location instances.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/InternationalString.html" title="class or interface in org.opengis.util" class="external-link">International­String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getName()" class="member-name-link">get­Name</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the name of the location type.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../../../../../org.apache.sis.metadata/org/apache/sis/metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">Abstract­Party</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getOwner()" class="member-name-link">get­Owner</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the name of organization or class of organization able to create and destroy location instances.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><wbr>&lt;<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">Modifiable­Location­Type</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getParents()" class="member-name-link">get­Parents</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the parent location types (location types of which this location type is a sub-division).</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">Referencing­By­Identifiers</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getReferenceSystem()" class="member-name-link">get­Reference­System</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the reference system that comprises this location type.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/extent/GeographicExtent.html" title="class or interface in org.opengis.metadata.extent" class="external-link">Geographic­Extent</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getTerritoryOfUse()" class="member-name-link">get­Territory­Of­Use</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the geographic area within which the location type occurs.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/InternationalString.html" title="class or interface in org.opengis.util" class="external-link">International­String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getTheme()" class="member-name-link">get­Theme</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the property used as the defining characteristic of the location type.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hashCode()" class="member-name-link">hash­Code</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a hash code value for this location type.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeIdentification(java.lang.CharSequence)" class="member-name-link">remove­Identification</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link">Char­Sequence</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Removes a method of uniquely identifying location instances.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeParent(org.apache.sis.referencing.gazetteer.ModifiableLocationType)" class="member-name-link">remove­Parent</a><wbr>(<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">Modifiable­Location­Type</a>&nbsp;parent)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Removes the given element from the list of parent.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setDefinition(java.lang.CharSequence)" class="member-name-link">set­Definition</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link">Char­Sequence</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the way in which location instances are defined.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setOwner(java.lang.CharSequence)" class="member-name-link">set­Owner</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link">Char­Sequence</a>&nbsp;name)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the name of the organization or class of organization able to create and destroy location instances.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setOwner(org.apache.sis.metadata.iso.citation.AbstractParty)" class="member-name-link">set­Owner</a><wbr>(<a href="../../../../../../org.apache.sis.metadata/org/apache/sis/metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">Abstract­Party</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the organization or class of organization able to create and destroy location instances.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setTerritoryOfUse(java.lang.String)" class="member-name-link">set­Territory­Of­Use</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;identifier)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the name of the geographic area within which the location type occurs.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setTerritoryOfUse(org.opengis.metadata.extent.GeographicExtent)" class="member-name-link">set­Territory­Of­Use</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/extent/GeographicExtent.html" title="class or interface in org.opengis.metadata.extent" class="external-link">Geographic­Extent</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the geographic area within which the location type occurs.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setTheme(java.lang.CharSequence)" class="member-name-link">set­Theme</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link">Char­Sequence</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the property used as the defining characteristic of the location type.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><wbr>&lt;Abstract­Location­Type&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#snapshot(org.apache.sis.referencing.gazetteer.ReferencingByIdentifiers,org.apache.sis.referencing.gazetteer.AbstractLocationType...)" class="member-name-link">snapshot</a><wbr>(<a href="ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">Referencing­By­Identifiers</a>&nbsp;rs,
Abstract­Location­Type...&nbsp;types)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Creates unmodifiable snapshots of the given location types.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">to­String</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a string representation of this location type and all its children.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">get­Class</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notify­All</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(java.lang.CharSequence)">
<h3>ModifiableLocationType</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ModifiableLocationType</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link">CharSequence</a>&nbsp;name)</span></div>
<div class="block">Creates a new location type of the given name.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - the location type name.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/InternationalString.html" title="class or interface in org.opengis.util" class="external-link">InternationalString</a></span>&nbsp;<span class="element-name">getName</span>()</div>
<div class="block">Returns the name of the location type.
This name is specified at construction time and cannot be changed.
<h4 id="examples-heading">Examples</h4>
“administrative area”, “town”, “locality”, “street”, “property”.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>name of the location type.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getTheme()">
<h3>getTheme</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/InternationalString.html" title="class or interface in org.opengis.util" class="external-link">InternationalString</a></span>&nbsp;<span class="element-name">getTheme</span>()</div>
<div class="block">Returns the property used as the defining characteristic of the location type.
If no theme has been explicitly set, then this method inherits the value from
the parents providing that all parents specify the same theme.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>property used as the defining characteristic of the location type,
or <code>null</code> if no value has been defined or can be inherited.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="ReferencingByIdentifiers.html#getTheme()"><code>Referencing­By­Identifiers​.get­Theme()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setTheme(java.lang.CharSequence)">
<h3>setTheme</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setTheme</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link">CharSequence</a>&nbsp;value)</span></div>
<div class="block">Sets the property used as the defining characteristic of the location type.
<h4 id="examples-heading1">Examples</h4>
<cite>“local administration”</cite> for administrative areas,
<cite>“built environment”</cite> for towns or properties,
<cite>“access”</cite> for streets,
<cite>“electoral”</cite>,
<cite>“postal”</cite>.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - the new theme, or <code>null</code> for inheriting a value from the parents.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getIdentifications()">
<h3>getIdentifications</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/InternationalString.html" title="class or interface in org.opengis.util" class="external-link">InternationalString</a>&gt;</span>&nbsp;<span class="element-name">getIdentifications</span>()</div>
<div class="block">Returns the method(s) of uniquely identifying location instances.
If no methods have been explicitly set, then this method inherits the values from
the parents providing that all parents specify the same methods.
<p>The collection returned by this method is unmodifiable. For adding or removing an identification,
use <a href="#addIdentification(java.lang.CharSequence)"><code>add­Identification(Char­Sequence)</code></a> or <a href="#removeIdentification(java.lang.CharSequence)"><code>remove­Identification(Char­Sequence)</code></a>.</p>
<h4 id="examples-heading2">Examples</h4>
Some identification methods are “name”, “code”, “unique street reference number” and “geographic address”.
A location using “name” identifications may have the “Spain” <a href="AbstractLocation.html#getGeographicIdentifier()">geographic identifier</a>, and a location using “postcode” identifications may have the “SW1P 3AD” geographic identifier.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>method(s) of uniquely identifying location instances,
or an empty list if no value has been defined or can be inherited.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="AbstractLocation.html#getGeographicIdentifier()"><code>Abstract­Location​.get­Geographic­Identifier()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addIdentification(java.lang.CharSequence)">
<h3>addIdentification</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addIdentification</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link">CharSequence</a>&nbsp;value)</span></div>
<div class="block">Adds a method of uniquely identifying location instances.
<h4 id="examples-heading3">Examples</h4>
“name”, “code”, “unique street reference number”, “geographic address”.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - the method to add.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">Illegal­Argument­Exception</a></code> - if the given value is already defined.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="removeIdentification(java.lang.CharSequence)">
<h3>removeIdentification</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">removeIdentification</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link">CharSequence</a>&nbsp;value)</span></div>
<div class="block">Removes a method of uniquely identifying location instances.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - the method to remove.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">Illegal­Argument­Exception</a></code> - if the given value is not found.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDefinition()">
<h3>getDefinition</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/InternationalString.html" title="class or interface in org.opengis.util" class="external-link">InternationalString</a></span>&nbsp;<span class="element-name">getDefinition</span>()</div>
<div class="block">Returns the way in which location instances are defined.
If no definition has been explicitly set, then this method inherits the value from
the parents providing that all parents specify the same definition.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the way in which location instances are defined,
or <code>null</code> if no value has been defined or can be inherited.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setDefinition(java.lang.CharSequence)">
<h3>setDefinition</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setDefinition</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link">CharSequence</a>&nbsp;value)</span></div>
<div class="block">Sets the way in which location instances are defined.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - the new identification.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getTerritoryOfUse()">
<h3>getTerritoryOfUse</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/extent/GeographicExtent.html" title="class or interface in org.opengis.metadata.extent" class="external-link">GeographicExtent</a></span>&nbsp;<span class="element-name">getTerritoryOfUse</span>()</div>
<div class="block">Returns the geographic area within which the location type occurs.
If no geographic area has been explicitly set, then this method inherits the value from
the parents providing that all parents specify the same geographic area.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>geographic area within which the location type occurs,
or <code>null</code> if no value has been defined or can be inherited.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="../../../../../../org.apache.sis.referencing/org/apache/sis/referencing/AbstractReferenceSystem.html#getDomainOfValidity()"><code>Abstract­Reference­System​.get­Domain­Of­Validity()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setTerritoryOfUse(org.opengis.metadata.extent.GeographicExtent)">
<h3>setTerritoryOfUse</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setTerritoryOfUse</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/extent/GeographicExtent.html" title="class or interface in org.opengis.metadata.extent" class="external-link">GeographicExtent</a>&nbsp;value)</span></div>
<div class="block">Sets the geographic area within which the location type occurs. The given value is typically an instance of
<a href="../../../../../../org.apache.sis.metadata/org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.html" title="class in org.apache.sis.metadata.iso.extent"><code>Default­Geographic­Bounding­Box</code></a>. For an alternative where only the
territory name is specified, see <a href="#setTerritoryOfUse(java.lang.String)"><code>set­Territory­Of­Use(String)</code></a>.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - the new geographic extent.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setTerritoryOfUse(java.lang.String)">
<h3>setTerritoryOfUse</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setTerritoryOfUse</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;identifier)</span></div>
<div class="block">Sets the name of the geographic area within which the location type occurs.
<h4 id="examples-heading4">Examples</h4>
The geographic domain for a location type “rivers” might be “North America”.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>identifier</code> - the identifier of the geographic extent.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getOwner()">
<h3>getOwner</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../../../../../org.apache.sis.metadata/org/apache/sis/metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">AbstractParty</a></span>&nbsp;<span class="element-name">getOwner</span>()</div>
<div class="block">Returns the name of organization or class of organization able to create and destroy location instances.
If no organization has been explicitly set, then this method inherits the value from
the parents providing that all parents specify the same organization.
<div class="warning"><b>Upcoming API change — generalization</b><br>
in a future SIS version, the type of returned element may be generalized to the
<code>org​.opengis​.metadata​.citation​.Party</code> interface. This change is pending
GeoAPI revision for upgrade from ISO 19115:2003 to ISO 19115:2014.</div></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>organization or class of organization able to create and destroy location instances,
or <code>null</code> if no value has been defined or can be inherited.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="AbstractLocation.html#getAdministrator()"><code>Abstract­Location​.get­Administrator()</code></a></li>
<li><a href="ReferencingByIdentifiers.html#getOverallOwner()"><code>Referencing­By­Identifiers​.get­Overall­Owner()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setOwner(org.apache.sis.metadata.iso.citation.AbstractParty)">
<h3>setOwner</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setOwner</span><wbr><span class="parameters">(<a href="../../../../../../org.apache.sis.metadata/org/apache/sis/metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">AbstractParty</a>&nbsp;value)</span></div>
<div class="block">Sets the organization or class of organization able to create and destroy location instances.
The given value is typically an instance of <a href="../../../../../../org.apache.sis.metadata/org/apache/sis/metadata/iso/citation/DefaultOrganisation.html" title="class in org.apache.sis.metadata.iso.citation"><code>Default­Organisation</code></a>.
For an alternative where only the organization name is specified, see <a href="#setOwner(java.lang.CharSequence)"><code>set­Owner(Char­Sequence)</code></a>.
<div class="warning"><b>Upcoming API change — generalization</b><br>
in a future SIS version, the argument type may be generalized to the
<code>org​.opengis​.metadata​.citation​.Party</code> interface. This change is pending
GeoAPI revision for upgrade from ISO 19115:2003 to ISO 19115:2014.</div></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - the new owner.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setOwner(java.lang.CharSequence)">
<h3>setOwner</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setOwner</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CharSequence.html" title="class or interface in java.lang" class="external-link">CharSequence</a>&nbsp;name)</span></div>
<div class="block">Sets the name of the organization or class of organization able to create and destroy location instances.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - the organization name.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getParents()">
<h3>getParents</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a>&gt;</span>&nbsp;<span class="element-name">getParents</span>()</div>
<div class="block">Returns the parent location types (location types of which this location type is a sub-division).
A location type can have more than one possible parent. For example, the parent of a location type named
<cite>“street”</cite> could be <cite>“locality”</cite>, <cite>“town”</cite> or <cite>“administrative area”</cite>.
<p>The collection returned by this method is unmodifiable. For adding or removing a parent,
use <a href="#addParent(org.apache.sis.referencing.gazetteer.ModifiableLocationType)"><code>add­Parent(Modifiable­Location­Type)</code></a> or <a href="#removeParent(org.apache.sis.referencing.gazetteer.ModifiableLocationType)"><code>remove­Parent(Modifiable­Location­Type)</code></a>.</p></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>parent location types, or an empty collection if none.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="AbstractLocation.html#getParents()"><code>Abstract­Location​.get­Parents()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getChildren()">
<h3>getChildren</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a>&gt;</span>&nbsp;<span class="element-name">getChildren</span>()</div>
<div class="block">Returns the child location types (location types which sub-divides this location type).
The collection returned by this method is unmodifiable. For adding or removing a child,
use <code>child.<a href="#addParent(org.apache.sis.referencing.gazetteer.ModifiableLocationType)">add­Parent</a>(this)</code>
or <code>child.<a href="#removeParent(org.apache.sis.referencing.gazetteer.ModifiableLocationType)">remove­Parent</a>(this)</code>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>child location types, or an empty collection if none.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="AbstractLocation.html#getChildren()"><code>Abstract­Location​.get­Children()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addParent(org.apache.sis.referencing.gazetteer.ModifiableLocationType)">
<h3>addParent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addParent</span><wbr><span class="parameters">(<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a>&nbsp;parent)</span></div>
<div class="block">Adds the given element to the list of parents.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>parent</code> - the parent to add.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">Illegal­State­Exception</a></code> - if this location type already have a parent of the same name.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">Illegal­Argument­Exception</a></code> - if the given parent already have a child of the same name than this location type.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="removeParent(org.apache.sis.referencing.gazetteer.ModifiableLocationType)">
<h3>removeParent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">removeParent</span><wbr><span class="parameters">(<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a>&nbsp;parent)</span></div>
<div class="block">Removes the given element from the list of parent.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>parent</code> - the parent to remove.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">Illegal­Argument­Exception</a></code> - if the given parent has not been found.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getReferenceSystem()">
<h3>getReferenceSystem</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a></span>&nbsp;<span class="element-name">getReferenceSystem</span>()</div>
<div class="block">Returns the reference system that comprises this location type. For <code>Modifiable­Location­Type</code>s,
the reference system is always null. The reference system is defined when the location types are
given to the <a href="ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer"><code>Referencing­By­Identifiers</code></a> constructor for example.
<div class="warning"><b>Upcoming API change — generalization</b><br>
in a future SIS version, the type of returned element may be generalized to the
<code>org​.opengis​.referencing​.gazetteer​.Reference­System­Using­Identifiers</code> interface.
This change is pending GeoAPI revision.</div></div>
<dl class="notes">
<dt>Returns:</dt>
<dd><code>null</code>.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="ReferencingByIdentifiers.html#getLocationTypes()"><code>Referencing­By­Identifiers​.get­Location­Types()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="snapshot(org.apache.sis.referencing.gazetteer.ReferencingByIdentifiers,org.apache.sis.referencing.gazetteer.AbstractLocationType...)">
<h3>snapshot</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;AbstractLocationType&gt;</span>&nbsp;<span class="element-name">snapshot</span><wbr><span class="parameters">(<a href="ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a>&nbsp;rs,
AbstractLocationType...&nbsp;types)</span></div>
<div class="block">Creates unmodifiable snapshots of the given location types. This method returns a new collection within which
all elements are snapshots of the given location types (in iteration order), except the reference system which
is set to the given value.
<p>The location types returned by this method are <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">serializable</a>
if all properties (<a href="#getName()">name</a>,
<a href="#getTerritoryOfUse()">territory of use</a>, <i>etc.</i>
are also serializable).</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>rs</code> - the reference system to assign to the new location types, or <code>null</code> if none.</dd>
<dd><code>types</code> - the location types for which to take a snapshot.</dd>
<dt>Returns:</dt>
<dd>unmodifiable copies of the given location types.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">
<h3>equals</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;object,
<a href="../../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html" title="enum class in org.apache.sis.util">ComparisonMode</a>&nbsp;mode)</span></div>
<div class="block">Compares this location type with the specified object for equality.
This method compares the value of <a href="#getName()"><code>get­Name()</code></a> and <a href="#getChildren()"><code>get­Children()</code></a> in all modes.
At the opposite, values of <a href="#getParents()"><code>get­Parents()</code></a> and <a href="#getReferenceSystem()"><code>get­Reference­System()</code></a> are never
compared, no matter the mode, for avoiding never-ending loops. Other properties may or may
not be compared depending on the <code>mode</code> argument.
<p>If the <code>mode</code> argument value is <a href="../../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html#STRICT"><code>STRICT</code></a> or
<a href="../../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html#BY_CONTRACT"><code>BY_CONTRACT</code></a>, then almost all properties are compared
including the <a href="#getTheme()">theme</a> and the <a href="#getOwner()">owner</a>.</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code></dd>
<dt>Parameters:</dt>
<dd><code>object</code> - the object to compare to <code>this</code>.</dd>
<dd><code>mode</code> - <a href="../../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html#STRICT"><code>STRICT</code></a> for performing a strict comparison, or
<a href="../../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html#IGNORE_METADATA"><code>IGNORE_METADATA</code></a> for comparing only
properties relevant to location identifications.</dd>
<dt>Returns:</dt>
<dd><code>true</code> if both objects are equal.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="../../../../../../org.apache.sis.util/org/apache/sis/util/Utilities.html#deepEquals(java.lang.Object,java.lang.Object,org.apache.sis.util.ComparisonMode)"><code>Utilities​.deep­Equals(Object, Object, Comparison­Mode)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="equals(java.lang.Object)">
<h3>equals</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;object)</span></div>
<div class="block">Compares this location type with the specified object for strict equality.
This method compares all properties except the value returned by <a href="#getParents()"><code>get­Parents()</code></a>
and <a href="#getReferenceSystem()"><code>get­Reference­System()</code></a>, for avoiding never-ending loops.
<p>This method is implemented as below:</p>
<div class="snippet-container"><button class="copy snippet-copy" aria-label="Copy snippet" onclick="copySnippet(this)"><span data-copied="Copied!">Copy</span><img src="../../../../../../copy.svg" alt="Copy snippet"></button>
<pre class="snippet"><code class="language-java">return equals(object, ComparisonMode.STRICT);
</code></pre>
</div>
</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html#equals(java.lang.Object)">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
<dt>Parameters:</dt>
<dd><code>object</code> - the object to compare to <code>this</code>.</dd>
<dt>Returns:</dt>
<dd><code>true</code> if both objects are equal.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="../../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html#STRICT"><code>Comparison­Mode​.STRICT</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hashCode()">
<h3>hashCode</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">hashCode</span>()</div>
<div class="block">Returns a hash code value for this location type.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hash­Code</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
<dt>Returns:</dt>
<dd>a hash code value for this location type.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
<div class="block">Returns a string representation of this location type and all its children.
Current implementation formats a tree with the <a href="#getName()">name</a>
and <a href="#getDefinition()">definition</a> of each type, like below:
<pre class="text">
administrative area………………… area of responsibility of highest level local authority
  ├─town……………………………………………… city or town
  │   └─street……………………………… thoroughfare providing access to properties
  └─street………………………………………… thoroughfare providing access to properties</pre>
The string representation is mostly for debugging purpose and may change in any future SIS version.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">to­String</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
<dt>Returns:</dt>
<dd>a string representation of this location type.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>