blob: d0a13cf7f9b2404e29f7c7a94153ac58fb7ef532 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 -->
<title>ModifiableLocationType (Apache SIS 1.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2019-09-20">
<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="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ModifiableLocationType (Apache SIS 1.0 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":9,"i23":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ModifiableLocationType.html">Use</a></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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<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="subNavList">
<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>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.referencing.gazetteer</a></div>
<h2 title="Class ModifiableLocationType" class="title">Class ModifiableLocationType</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></li>
<li>
<ul class="inheritance">
<li>ModifiableLocationType</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../../util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">ModifiableLocationType</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></pre>
<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.
<div class="note"><b>Example:</b>
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.
<blockquote><pre>ModifiableLocationType area = <font color="green">new</font> <b>ModifiableLocationType</b>(<font color="orangered">"administrative area"</font>);
ModifiableLocationType town = <font color="green">new</font> <b>ModifiableLocationType</b>(<font color="orangered">"town"</font>);
ModifiableLocationType street = <font color="green">new</font> <b>ModifiableLocationType</b>(<font color="orangered">"street"</font>);
area .<b>setTheme</b>(<font color="orangered">"local administration"</font>);
town .<b>setTheme</b>(<font color="orangered">"built environment"</font>);
street.<b>setTheme</b>(<font color="orangered">"access"</font>);
area .<b>setDefinition</b>(<font color="orangered">"area of responsibility of highest level local authority"</font>);
town .<b>setDefinition</b>(<font color="orangered">"city or town"</font>);
street.<b>setDefinition</b>(<font color="orangered">"thoroughfare providing access to properties"</font>);
town .<b>addParent</b>(area);
street.<b>addParent</b>(area);
street.<b>addParent</b>(town);</pre></blockquote>
A string representation of the <code>area</code> location type is as below:
<blockquote><pre>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></blockquote>
</div>
<div class="section">Inheritance of property values</div>
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.
<div class="note"><b>Example:</b>
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:
<blockquote><pre>area.<b>setTerritoryOfUse</b>(<font color="orangered">"Japan"</font>);</pre></blockquote>
Then, the towns and streets automatically inherit the same value for that property,
unless they are explicitly given another value.</div>
<div class="section">Limitation</div>
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>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.8</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="AbstractLocation.html" title="class in org.apache.sis.referencing.gazetteer"><code>Abstract­Location</code></a>,
<a href="ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer"><code>Referencing­By­Identifiers</code></a></dd>
<p><font size="-1">Defined in the <code>sis-referencing-by-identifiers</code> module</font></p>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.CharSequence)">ModifiableLocationType</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink">CharSequence</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Creates a new location type of the given name.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addIdentification(java.lang.CharSequence)">addIdentification</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink">CharSequence</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Adds a method of uniquely identifying location instances.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addParent(org.apache.sis.referencing.gazetteer.ModifiableLocationType)">addParent</a></span>&#8203;(<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a>&nbsp;parent)</code></th>
<td class="colLast">
<div class="block">Adds the given element to the list of parents.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;object)</code></th>
<td class="colLast">
<div class="block">Compares this location type with the specified object for strict equality.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;object,
<a href="../../util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a>&nbsp;mode)</code></th>
<td class="colLast">
<div class="block">Compares this location type with the specified object for equality.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getChildren()">getChildren</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the child location types (location types which sub-divides this location type).</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDefinition()">getDefinition</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the way in which location instances are defined.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIdentifications()">getIdentifications</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the method(s) of uniquely identifying location instances.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the name of the location type.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">AbstractParty</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOwner()">getOwner</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the name of organization or class of organization able to create and destroy location instances.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getParents()">getParents</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the parent location types (location types of which this location type is a sub-division).</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getReferenceSystem()">getReferenceSystem</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the reference system that comprises this location type.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicExtent.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicExtent</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTerritoryOfUse()">getTerritoryOfUse</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the geographic area within which the location type occurs.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTheme()">getTheme</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the property used as the defining characteristic of the location type.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a hash code value for this location type.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeIdentification(java.lang.CharSequence)">removeIdentification</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink">CharSequence</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Removes a method of uniquely identifying location instances.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeParent(org.apache.sis.referencing.gazetteer.ModifiableLocationType)">removeParent</a></span>&#8203;(<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a>&nbsp;parent)</code></th>
<td class="colLast">
<div class="block">Removes the given element from the list of parent.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDefinition(java.lang.CharSequence)">setDefinition</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink">CharSequence</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Sets the way in which location instances are defined.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOwner(java.lang.CharSequence)">setOwner</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink">CharSequence</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Sets the name of the organization or class of organization able to create and destroy location instances.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOwner(org.apache.sis.metadata.iso.citation.AbstractParty)">setOwner</a></span>&#8203;(<a href="../../metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">AbstractParty</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Sets the organization or class of organization able to create and destroy location instances.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTerritoryOfUse(java.lang.String)">setTerritoryOfUse</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;identifier)</code></th>
<td class="colLast">
<div class="block">Sets the name of the geographic area within which the location type occurs.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTerritoryOfUse(org.opengis.metadata.extent.GeographicExtent)">setTerritoryOfUse</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicExtent.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicExtent</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Sets the geographic area within which the location type occurs.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTheme(java.lang.CharSequence)">setTheme</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink">CharSequence</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Sets the property used as the defining characteristic of the location type.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="http://sis.apache.org/apidocs/org/apache/sis/referencing/gazetteer/AbstractLocationType.html?is-external=true" title="class or interface in org.apache.sis.referencing.gazetteer" class="externalLink">AbstractLocationType</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#snapshot(org.apache.sis.referencing.gazetteer.ReferencingByIdentifiers,org.apache.sis.referencing.gazetteer.AbstractLocationType...)">snapshot</a></span>&#8203;(<a href="ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a>&nbsp;rs,
<a href="http://sis.apache.org/apidocs/org/apache/sis/referencing/gazetteer/AbstractLocationType.html?is-external=true" title="class or interface in org.apache.sis.referencing.gazetteer" class="externalLink">AbstractLocationType</a>...&nbsp;types)</code></th>
<td class="colLast">
<div class="block">Creates unmodifiable snapshots of the given location types.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a string representation of this location type and all its children.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">get­Class</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notify­All</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(java.lang.CharSequence)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ModifiableLocationType</h4>
<pre>public&nbsp;ModifiableLocationType&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink">CharSequence</a>&nbsp;name)</pre>
<div class="block">Creates a new location type of the given name.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the location type name.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a>&nbsp;getName()</pre>
<div class="block">Returns the name of the location type.
This name is specified at construction time and can not be changed.
<div class="note"><b>Examples:</b>
“administrative area”, “town”, “locality”, “street”, “property”.</div></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>name of the location type.</dd>
</dl>
</li>
</ul>
<a id="getTheme()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTheme</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a>&nbsp;getTheme()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></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><span class="seeLabel">See Also:</span></dt>
<dd><a href="ReferencingByIdentifiers.html#getTheme()"><code>Referencing­By­Identifiers​.get­Theme()</code></a></dd>
</dl>
</li>
</ul>
<a id="setTheme(java.lang.CharSequence)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTheme</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setTheme&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink">CharSequence</a>&nbsp;value)</pre>
<div class="block">Sets the property used as the defining characteristic of the location type.
<div class="note"><b>Examples:</b>
<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></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the new theme, or <code>null</code> for inheriting a value from the parents.</dd>
</dl>
</li>
</ul>
<a id="getIdentifications()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdentifications</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a>&gt;&nbsp;getIdentifications()</pre>
<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.
<div class="note"><b>Examples:</b>
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>
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>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></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><span class="seeLabel">See Also:</span></dt>
<dd><a href="AbstractLocation.html#getGeographicIdentifier()"><code>Abstract­Location​.get­Geographic­Identifier()</code></a></dd>
</dl>
</li>
</ul>
<a id="addIdentification(java.lang.CharSequence)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addIdentification</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addIdentification&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink">CharSequence</a>&nbsp;value)</pre>
<div class="block">Adds a method of uniquely identifying location instances.
<div class="note"><b>Examples:</b>
“name”, “code”, “unique street reference number”, “geographic address”.</div></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the method to add.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Illegal­Argument­Exception</a></code> - if the given value is already defined.</dd>
</dl>
</li>
</ul>
<a id="removeIdentification(java.lang.CharSequence)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeIdentification</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;removeIdentification&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink">CharSequence</a>&nbsp;value)</pre>
<div class="block">Removes a method of uniquely identifying location instances.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the method to remove.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Illegal­Argument­Exception</a></code> - if the given value is not found.</dd>
</dl>
</li>
</ul>
<a id="getDefinition()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefinition</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a>&nbsp;getDefinition()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></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>
</li>
</ul>
<a id="setDefinition(java.lang.CharSequence)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDefinition</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setDefinition&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink">CharSequence</a>&nbsp;value)</pre>
<div class="block">Sets the way in which location instances are defined.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the new identification.</dd>
</dl>
</li>
</ul>
<a id="getTerritoryOfUse()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTerritoryOfUse</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicExtent.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicExtent</a>&nbsp;getTerritoryOfUse()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></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><span class="seeLabel">See Also:</span></dt>
<dd><a href="../AbstractReferenceSystem.html#getDomainOfValidity()"><code>Abstract­Reference­System​.get­Domain­Of­Validity()</code></a></dd>
</dl>
</li>
</ul>
<a id="setTerritoryOfUse(org.opengis.metadata.extent.GeographicExtent)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTerritoryOfUse</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setTerritoryOfUse&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/extent/GeographicExtent.html?is-external=true" title="class or interface in org.opengis.metadata.extent" class="externalLink">GeographicExtent</a>&nbsp;value)</pre>
<div class="block">Sets the geographic area within which the location type occurs. The given value is typically an instance of
<a href="../../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>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the new geographic extent.</dd>
</dl>
</li>
</ul>
<a id="setTerritoryOfUse(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTerritoryOfUse</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setTerritoryOfUse&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;identifier)</pre>
<div class="block">Sets the name of the geographic area within which the location type occurs.
<div class="note"><b>Examples:</b>
the geographic domain for a location type “rivers” might be “North America”.</div></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>identifier</code> - the identifier of the geographic extent.</dd>
</dl>
</li>
</ul>
<a id="getOwner()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOwner</h4>
<pre class="methodSignature">public&nbsp;<a href="../../metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">AbstractParty</a>&nbsp;getOwner()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></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><span class="seeLabel">See Also:</span></dt>
<dd><a href="AbstractLocation.html#getAdministrator()"><code>Abstract­Location​.get­Administrator()</code></a>,
<a href="ReferencingByIdentifiers.html#getOverallOwner()"><code>Referencing­By­Identifiers​.get­Overall­Owner()</code></a></dd>
</dl>
</li>
</ul>
<a id="setOwner(org.apache.sis.metadata.iso.citation.AbstractParty)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOwner</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setOwner&#8203;(<a href="../../metadata/iso/citation/AbstractParty.html" title="class in org.apache.sis.metadata.iso.citation">AbstractParty</a>&nbsp;value)</pre>
<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="../../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>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the new owner.</dd>
</dl>
</li>
</ul>
<a id="setOwner(java.lang.CharSequence)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOwner</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setOwner&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html?is-external=true" title="class or interface in java.lang" class="externalLink">CharSequence</a>&nbsp;name)</pre>
<div class="block">Sets the name of the organization or class of organization able to create and destroy location instances.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the organization name.</dd>
</dl>
</li>
</ul>
<a id="getParents()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParents</h4>
<pre class="methodSignature">public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a>&gt;&nbsp;getParents()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>parent location types, or an empty collection if none.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="AbstractLocation.html#getParents()"><code>Abstract­Location​.get­Parents()</code></a></dd>
</dl>
</li>
</ul>
<a id="getChildren()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChildren</h4>
<pre class="methodSignature">public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a>&gt;&nbsp;getChildren()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>child location types, or an empty collection if none.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="AbstractLocation.html#getChildren()"><code>Abstract­Location​.get­Children()</code></a></dd>
</dl>
</li>
</ul>
<a id="addParent(org.apache.sis.referencing.gazetteer.ModifiableLocationType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addParent</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addParent&#8203;(<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a>&nbsp;parent)</pre>
<div class="block">Adds the given element to the list of parents.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parent</code> - the parent to add.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">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/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Illegal­Argument­Exception</a></code> - if the given parent already have a child of the same name than this location type.</dd>
</dl>
</li>
</ul>
<a id="removeParent(org.apache.sis.referencing.gazetteer.ModifiableLocationType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeParent</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;removeParent&#8203;(<a href="ModifiableLocationType.html" title="class in org.apache.sis.referencing.gazetteer">ModifiableLocationType</a>&nbsp;parent)</pre>
<div class="block">Removes the given element from the list of parent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parent</code> - the parent to remove.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Illegal­Argument­Exception</a></code> - if the given parent has not been found.</dd>
</dl>
</li>
</ul>
<a id="getReferenceSystem()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReferenceSystem</h4>
<pre class="methodSignature">public&nbsp;<a href="ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a>&nbsp;getReferenceSystem()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>null</code>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="ReferencingByIdentifiers.html#getLocationTypes()"><code>Referencing­By­Identifiers​.get­Location­Types()</code></a></dd>
</dl>
</li>
</ul>
<a id="snapshot(org.apache.sis.referencing.gazetteer.ReferencingByIdentifiers,org.apache.sis.referencing.gazetteer.AbstractLocationType...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>snapshot</h4>
<pre class="methodSignature">public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="http://sis.apache.org/apidocs/org/apache/sis/referencing/gazetteer/AbstractLocationType.html?is-external=true" title="class or interface in org.apache.sis.referencing.gazetteer" class="externalLink">AbstractLocationType</a>&gt;&nbsp;snapshot&#8203;(<a href="ReferencingByIdentifiers.html" title="class in org.apache.sis.referencing.gazetteer">ReferencingByIdentifiers</a>&nbsp;rs,
<a href="http://sis.apache.org/apidocs/org/apache/sis/referencing/gazetteer/AbstractLocationType.html?is-external=true" title="class or interface in org.apache.sis.referencing.gazetteer" class="externalLink">AbstractLocationType</a>...&nbsp;types)</pre>
<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/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">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>
<dt><span class="paramLabel">Parameters:</span></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><span class="returnLabel">Returns:</span></dt>
<dd>unmodifiable copies of the given location types.</dd>
</dl>
</li>
</ul>
<a id="equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;object,
<a href="../../util/ComparisonMode.html" title="enum in org.apache.sis.util">ComparisonMode</a>&nbsp;mode)</pre>
<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="../../util/ComparisonMode.html#STRICT"><code>STRICT</code></a> or
<a href="../../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>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../util/LenientComparable.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../../util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - the object to compare to <code>this</code>.</dd>
<dd><code>mode</code> - <a href="../../util/ComparisonMode.html#STRICT"><code>STRICT</code></a> for performing a strict comparison, or
<a href="../../util/ComparisonMode.html#IGNORE_METADATA"><code>IGNORE_METADATA</code></a> for comparing only
properties relevant to location identifications.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if both objects are equal.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../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></dd>
</dl>
</li>
</ul>
<a id="equals(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">public final&nbsp;boolean&nbsp;equals&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;object)</pre>
<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>
<blockquote><pre><font color="green">return</font> <b>equals</b>(object, ComparisonMode.STRICT);</pre></blockquote></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../util/LenientComparable.html#equals(java.lang.Object)">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../../util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - the object to compare to <code>this</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if both objects are equal.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../util/ComparisonMode.html#STRICT"><code>Comparison­Mode​.STRICT</code></a></dd>
</dl>
</li>
</ul>
<a id="hashCode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;hashCode()</pre>
<div class="block">Returns a hash code value for this location type.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hash­Code</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a hash code value for this location type.</dd>
</dl>
</li>
</ul>
<a id="toString()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;toString()</pre>
<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:
<blockquote><pre>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></blockquote>
The string representation is mostly for debugging purpose and may change in any future SIS version.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">to­String</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a string representation of this location type.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ModifiableLocationType.html">Use</a></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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<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="subNavList">
<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>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2010&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>