blob: fc056db3f5f2672ff1bab54f305c665e5462f563 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (21) on Thu Oct 05 19:54:57 CEST 2023 -->
<title>NamedIdentifier (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, package: org.apache.sis.referencing, class: NamedIdentifier">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="org.apache.sis.referencing.NamedIdentifier class">
<meta name="keywords" content="castOrCopy()">
<meta name="keywords" content="tip()">
<meta name="keywords" content="head()">
<meta name="keywords" content="scope()">
<meta name="keywords" content="depth()">
<meta name="keywords" content="getParsedNames()">
<meta name="keywords" content="push()">
<meta name="keywords" content="toFullyQualifiedName()">
<meta name="keywords" content="toInternationalString()">
<meta name="keywords" content="toString()">
<meta name="keywords" content="compareTo()">
<meta name="keywords" content="equals()">
<meta name="keywords" content="hashCode()">
<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><a href="#field-summary">Field</a></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><a href="#field-summary">Field</a>&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</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.referencing</a></div>
<h1 title="Class NamedIdentifier" class="title">Class NamedIdentifier</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"><a href="../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a>
<div class="inheritance"><a href="ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a>
<div class="inheritance">NamedIdentifier</div>
</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><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></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a>&gt;</code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/Identifier.html" title="class or interface in org.opengis.metadata" class="external-link">Identifier</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/ReferenceIdentifier.html" title="class or interface in org.opengis.referencing" class="external-link">Reference­Identifier</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">NamedIdentifier</span>
<span class="extends-implements">extends <a href="ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a>
implements <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">GenericName</a></span></div>
<div class="block">An identification of a CRS object which is both a <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/Identifier.html" title="class or interface in org.opengis.metadata" class="external-link"><code>Identifier</code></a> and a <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link"><code>Generic­Name</code></a>.
This class implements both interfaces in order to allow usage of the same instance either as an object
<a href="AbstractIdentifiedObject.html#getName()">name</a> or <a href="AbstractIdentifiedObject.html#getAlias()">alias</a>.
This flexibility make easier to uses object's names in two different models:
<ul>
<li>In the ISO 19111 model, objects have a single name of type <code>RS_Identifier</code> and an arbitrary amount
of aliases of type <code>Generic­Name</code>.</li>
<li>In the GML model, objects have an arbitrary number of names of type <code>gml:Code­Type</code>,
but do not have any alias.</li>
</ul>
By using this <code>Named­Identifier</code> class, users can declare supplemental object's names as
<a href="AbstractIdentifiedObject.html#getAlias()">aliases</a> and have those names used in contexts
where <code>Identifier</code> instances are required, like GML marshalling time.
<h2 id="name-identifier-mapping-heading">Name ↔ Identifier mapping</h2>
The <code>Generic­Name</code> attributes will be inferred from <code>Identifier</code> attributes as below:
<ul>
<li><b><a href="#tip()">Tip</a>:</b> derived from the identifier <a href="ImmutableIdentifier.html#getCode()">code</a>.</li>
<li><b><a href="#head()">Head</a>:</b> derived from the identifier <a href="ImmutableIdentifier.html#getCodeSpace()">code space</a> if non-null.
If there is no code space, then the scope is derived from the shortest <a href="ImmutableIdentifier.html#getAuthority()">authority</a>'s
<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/citation/Citation.html#getAlternateTitles()" title="class or interface in org.opengis.metadata.citation" class="external-link">alternate titles</a>, or the <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/citation/Citation.html#getTitle()" title="class or interface in org.opengis.metadata.citation" class="external-link">main title</a>
if there are no alternate titles. This policy exploits the ISO 19115 comment saying that citation alternate titles
often contain abbreviation (for example "DCW" as an alternative title for <cite>"Digital Chart of the World"</cite>).</li>
</ul>
<h3 id="example-heading">Example</h3>
If the identifier attributes are <code>authority</code> = <code>new Default­Citation("IOGP")</code>,
<code>code­Space</code> = <code>"EPSG"</code> and <code>code</code> = <code>"4326"</code>, then the name attributes will be
<code>head</code> = <code>"EPSG"</code>, <code>tip</code> = <code>"4326"</code> and <a href="#toString()"><code>to­String()</code></a> = <code>"EPSG:4326"</code>.
Note that the scope does not appear in the string representation of names.
<h2 id="immutability-and-thread-safety-heading">Immutability and thread safety</h2>
This class is immutable and thus inherently thread-safe if the <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/citation/Citation.html" title="class or interface in org.opengis.metadata.citation" class="external-link"><code>Citation</code></a> and <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"><code>International­String</code></a>
arguments given to the constructor are also immutable. It is caller's responsibility to ensure that those
conditions hold, for example by invoking <a href="../../../../../org.apache.sis.metadata/org/apache/sis/metadata/iso/ISOMetadata.html#transitionTo(org.apache.sis.metadata.ModifiableMetadata.State)"><code>Default­Citation​.transition­To(Default­Citation​.State​.FINAL)</code></a> before passing the arguments to the constructor.
Subclasses shall make sure that any overridden methods remain safe to call from multiple threads and do not change
any public <code>Named­Identifier</code> state.</div>
<dl class="notes">
<dt>Since:</dt>
<dd>0.4</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="../../../../../org.apache.sis.metadata/org/apache/sis/metadata/iso/DefaultIdentifier.html" title="class in org.apache.sis.metadata.iso"><code>Default­Identifier</code></a></li>
<li><a href="../../../../../org.apache.sis.metadata/org/apache/sis/util/iso/AbstractName.html" title="class in org.apache.sis.util.iso"><code>Abstract­Name</code></a></li>
<li><a href="AbstractIdentifiedObject.html#getName()"><code>Abstract­Identified­Object​.get­Name()</code></a></li>
<li><a href="../../../../../serialized-form.html#org.apache.sis.referencing.NamedIdentifier">Serialized Form</a></li>
</ul>
</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-ImmutableIdentifier">Fields inherited from class&nbsp;<a href="ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></h3>
<code><a href="ImmutableIdentifier.html#DESCRIPTION_KEY">DESCRIPTION_KEY</a></code></div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-Identifier">Fields inherited from interface&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/Identifier.html" title="class or interface in org.opengis.metadata" class="external-link">Identifier</a></h3>
<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/Identifier.html#AUTHORITY_KEY" title="class or interface in org.opengis.metadata" class="external-link">AUTHORITY_KEY</a>, <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/Identifier.html#CODE_KEY" title="class or interface in org.opengis.metadata" class="external-link">CODE_KEY</a></code></div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-ReferenceIdentifier">Fields inherited from interface&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/ReferenceIdentifier.html" title="class or interface in org.opengis.referencing" class="external-link">ReferenceIdentifier</a></h3>
<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/ReferenceIdentifier.html#CODESPACE_KEY" title="class or interface in org.opengis.referencing" class="external-link">CODESPACE_KEY</a>, <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/ReferenceIdentifier.html#VERSION_KEY" title="class or interface in org.opengis.referencing" class="external-link">VERSION_KEY</a></code></div>
</section>
</li>
<!-- ======== 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.util.Map)" class="member-name-link">Named­Identifier</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<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>,<wbr>?&gt;&nbsp;properties)</code></div>
<div class="col-last even-row-color">
<div class="block">Constructs an identifier from the given properties.</div>
</div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.CharSequence)" class="member-name-link">Named­Identifier</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/citation/Citation.html" title="class or interface in org.opengis.metadata.citation" class="external-link">Citation</a>&nbsp;authority,
<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;code)</code></div>
<div class="col-last odd-row-color">
<div class="block">Constructs an identifier from an authority and code.</div>
</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.opengis.metadata.citation.Citation,java.lang.String,java.lang.CharSequence,java.lang.String,org.opengis.util.InternationalString)" class="member-name-link">Named­Identifier</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/citation/Citation.html" title="class or interface in org.opengis.metadata.citation" class="external-link">Citation</a>&nbsp;authority,
<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;code­Space,
<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;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>&nbsp;version,
<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>&nbsp;description)</code></div>
<div class="col-last even-row-color">
<div class="block">Constructs an identifier from an authority and localizable code,
with an optional version number and description.</div>
</div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(org.opengis.referencing.ReferenceIdentifier)" class="member-name-link">Named­Identifier</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/ReferenceIdentifier.html" title="class or interface in org.opengis.referencing" class="external-link">Reference­Identifier</a>&nbsp;identifier)</code></div>
<div class="col-last odd-row-color">
<div class="block">Creates a new identifier from the specified one.</div>
</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.opengis.util.GenericName)" class="member-name-link">Named­Identifier</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a>&nbsp;name)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a new identifier from the specified 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-tab1 method-summary-table-tab4"><code>static <a href="NamedIdentifier.html" title="class in org.apache.sis.referencing">Named­Identifier</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#castOrCopy(org.opengis.referencing.ReferenceIdentifier)" class="member-name-link">cast­Or­Copy</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/ReferenceIdentifier.html" title="class or interface in org.opengis.referencing" class="external-link">Reference­Identifier</a>&nbsp;object)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns a SIS identifier implementation with the values of the given arbitrary implementation.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="NamedIdentifier.html" title="class in org.apache.sis.referencing">Named­Identifier</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#castOrCopy(org.opengis.util.GenericName)" class="member-name-link">cast­Or­Copy</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a>&nbsp;object)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns a SIS name implementation with the values of the given arbitrary implementation.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareTo(org.opengis.util.GenericName)" class="member-name-link">compare­To</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</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 name with the specified object for order.</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="#depth()" class="member-name-link">depth</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 depth of this name within the namespace hierarchy.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>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 identifier with the specified object for equality.</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/util/List.html" title="class or interface in java.util" class="external-link">List</a><wbr>&lt;? extends <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/LocalName.html" title="class or interface in org.opengis.util" class="external-link">Local­Name</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="#getParsedNames()" class="member-name-link">get­Parsed­Names</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 sequence of <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/LocalName.html" title="class or interface in org.opengis.util" class="external-link">local names</a> making this generic name.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-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 even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a hash code value for this object.</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/LocalName.html" title="class or interface in org.opengis.util" class="external-link">Local­Name</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#head()" class="member-name-link">head</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 first element in the sequence of <a href="#getParsedNames()">parsed names</a>.</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/ScopedName.html" title="class or interface in org.opengis.util" class="external-link">Scoped­Name</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#push(org.opengis.util.GenericName)" class="member-name-link">push</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a>&nbsp;scope)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns this name expanded with the specified scope.</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/NameSpace.html" title="class or interface in org.opengis.util" class="external-link">Name­Space</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#scope()" class="member-name-link">scope</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 scope (name space) in which this name is local.</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/LocalName.html" title="class or interface in org.opengis.util" class="external-link">Local­Name</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#tip()" class="member-name-link">tip</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">The last element in the sequence of <a href="#getParsedNames()">parsed names</a>.</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/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toFullyQualifiedName()" class="member-name-link">to­Fully­Qualified­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 a view of this name as a fully-qualified name.</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="#toInternationalString()" class="member-name-link">to­International­String</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 a local-dependent string representation of this generic name.</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 generic name.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-ImmutableIdentifier">Methods inherited from class&nbsp;<a href="ImmutableIdentifier.html" title="class in org.apache.sis.referencing">ImmutableIdentifier</a></h3>
<code><a href="ImmutableIdentifier.html#formatTo(org.apache.sis.io.wkt.Formatter)">format­To</a>, <a href="ImmutableIdentifier.html#getAuthority()">get­Authority</a>, <a href="ImmutableIdentifier.html#getCode()">get­Code</a>, <a href="ImmutableIdentifier.html#getCodeSpace()">get­Code­Space</a>, <a href="ImmutableIdentifier.html#getDescription()">get­Description</a>, <a href="ImmutableIdentifier.html#getVersion()">get­Version</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-FormattableObject">Methods inherited from class&nbsp;<a href="../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></h3>
<code><a href="../io/wkt/FormattableObject.html#print()">print</a>, <a href="../io/wkt/FormattableObject.html#toString(org.apache.sis.io.wkt.Convention)">to­String</a>, <a href="../io/wkt/FormattableObject.html#toWKT()">to­WKT</a></code></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;(org.opengis.referencing.ReferenceIdentifier)">
<h3>NamedIdentifier</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">NamedIdentifier</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/ReferenceIdentifier.html" title="class or interface in org.opengis.referencing" class="external-link">ReferenceIdentifier</a>&nbsp;identifier)</span></div>
<div class="block">Creates a new identifier from the specified one. This is a copy constructor which get the code,
codespace, authority, version and the description (if available) from the given identifier.
<p>If the given identifier implements the <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link"><code>Generic­Name</code></a> interface, then calls to
<a href="#tip()"><code>tip()</code></a>, <a href="#head()"><code>head()</code></a>, <a href="#scope()"><code>scope()</code></a> and similar methods will delegate
to that name.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>identifier</code> - the identifier to copy.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#castOrCopy(org.opengis.referencing.ReferenceIdentifier)"><code>cast­Or­Copy(Reference­Identifier)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(org.opengis.util.GenericName)">
<h3>NamedIdentifier</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">NamedIdentifier</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">GenericName</a>&nbsp;name)</span></div>
<div class="block">Creates a new identifier from the specified name. This constructor infers the identifier attributes
(code, codespace and authority) from the given name. Calls to name-related methods like <a href="#tip()"><code>tip()</code></a>,
<a href="#head()"><code>head()</code></a> and <a href="#scope()"><code>scope()</code></a> will delegate to the given name.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - the name to wrap.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="#castOrCopy(org.opengis.util.GenericName)"><code>cast­Or­Copy(Generic­Name)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(java.util.Map)">
<h3>NamedIdentifier</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">NamedIdentifier</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<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>,<wbr>?&gt;&nbsp;properties)</span>
throws <span class="exceptions"><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">IllegalArgumentException</a></span></div>
<div class="block">Constructs an identifier from the given properties. The content of the properties map is used as
described in the <a href="ImmutableIdentifier.html#%3Cinit%3E(java.util.Map)">super-class constructor</a>,
with the addition of an optional <code>"name"</code> property.
<table class="sis">
<caption>Recognized properties</caption>
<tr>
<th>Property name</th>
<th>Value type</th>
<th>Returned by</th>
</tr>
<tr>
<td><code>"name"</code></td>
<td><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link"><code>GenericName</code></a></td>
<td>(none)</td>
</tr>
<tr>
<th colspan="3" class="hsep">Defined in parent class (reminder)</th>
</tr>
<tr>
<td><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/Identifier.html#CODE_KEY" title="class or interface in org.opengis.metadata" class="external-link">"code"</a></td>
<td><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"><code>String</code></a></td>
<td><a href="ImmutableIdentifier.html#getCode()"><code>ImmutableIdentifier.getCode()</code></a></td>
</tr>
<tr>
<td>"codespace"</td>
<td><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"><code>String</code></a></td>
<td><a href="ImmutableIdentifier.html#getCodeSpace()"><code>ImmutableIdentifier.getCodeSpace()</code></a></td>
</tr>
<tr>
<td><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/Identifier.html#AUTHORITY_KEY" title="class or interface in org.opengis.metadata" class="external-link">"authority"</a></td>
<td><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"><code>String</code></a> or <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/citation/Citation.html" title="class or interface in org.opengis.metadata.citation" class="external-link"><code>Citation</code></a></td>
<td><a href="ImmutableIdentifier.html#getAuthority()"><code>ImmutableIdentifier.getAuthority()</code></a></td>
</tr>
<tr>
<td>"version"</td>
<td><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"><code>String</code></a></td>
<td><a href="ImmutableIdentifier.html#getVersion()"><code>ImmutableIdentifier.getVersion()</code></a></td>
</tr>
<tr>
<td>"description"</td>
<td><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"><code>String</code></a> or <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"><code>International­String</code></a></td>
<td><a href="ImmutableIdentifier.html#getDescription()"><code>ImmutableIdentifier.getDescription()</code></a></td>
</tr>
<tr>
<td><a href="AbstractIdentifiedObject.html#LOCALE_KEY">"locale"</a></td>
<td><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Locale.html" title="class or interface in java.util" class="external-link"><code>Locale</code></a></td>
<td>(none)</td>
</tr>
</table>
The <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/Identifier.html#CODE_KEY" title="class or interface in org.opengis.metadata" class="external-link">"code"</a> property is mandatory and all other properties
are optional. If a <code>"name"</code> property is provided, then calls to name-related methods like
<a href="#tip()"><code>tip()</code></a>, <a href="#head()"><code>head()</code></a> and <a href="#scope()"><code>scope()</code></a> will delegate to the given name.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>properties</code> - the properties to be given to this identifier.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Value­Exception</a></code> - if a property has an invalid value.</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 a property is invalid for some other reason.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(org.opengis.metadata.citation.Citation,java.lang.CharSequence)">
<h3>NamedIdentifier</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">NamedIdentifier</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/citation/Citation.html" title="class or interface in org.opengis.metadata.citation" class="external-link">Citation</a>&nbsp;authority,
<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;code)</span></div>
<div class="block">Constructs an identifier from an authority and code.
This is a convenience constructor for commonly-used parameters.
<p>If the given code is an <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"><code>International­String</code></a>, then the <code>code​.to­String(Locale​.ROOT)</code>
return value will be used for the <a href="ImmutableIdentifier.html#getCode()"><code>code</code></a> property, and the complete international
string will be used for the <code>name</code> property.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>authority</code> - organization or party responsible for definition and maintenance of the code space or code,
or <code>null</code> if not available.</dd>
<dd><code>code</code> - identifier code or name, optionally from a controlled list or pattern defined by the authority.
The code cannot be null.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(org.opengis.metadata.citation.Citation,java.lang.String,java.lang.CharSequence,java.lang.String,org.opengis.util.InternationalString)">
<h3>NamedIdentifier</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">NamedIdentifier</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/citation/Citation.html" title="class or interface in org.opengis.metadata.citation" class="external-link">Citation</a>&nbsp;authority,
<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;codeSpace,
<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;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>&nbsp;version,
<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>&nbsp;description)</span></div>
<div class="block">Constructs an identifier from an authority and localizable code,
with an optional version number and description.
<p>If the given code is an <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"><code>International­String</code></a>, then the <code>code​.to­String(Locale​.ROOT)</code>
return value will be used for the <a href="ImmutableIdentifier.html#getCode()"><code>code</code></a> property, and the complete international
string will be used for the <code>name</code> property.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>authority</code> - organization or party responsible for definition and maintenance of the code space or code,
or <code>null</code> if not available.</dd>
<dd><code>code­Space</code> - name or identifier of the person or organization responsible for namespace, or <code>null</code>
if not available. This is often an abbreviation of the authority name.</dd>
<dd><code>code</code> - identifier code or name, optionally from a controlled list or pattern defined by a code space.
The code cannot be null.</dd>
<dd><code>version</code> - the version of the associated code space or code as specified by the code authority,
or <code>null</code> if none.</dd>
<dd><code>description</code> - natural language description of the meaning of the code value, or <code>null</code> if none.</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="castOrCopy(org.opengis.referencing.ReferenceIdentifier)">
<h3>castOrCopy</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></span>&nbsp;<span class="element-name">castOrCopy</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/ReferenceIdentifier.html" title="class or interface in org.opengis.referencing" class="external-link">ReferenceIdentifier</a>&nbsp;object)</span></div>
<div class="block">Returns a SIS identifier implementation with the values of the given arbitrary implementation.
This method performs the first applicable action in the following choices:
<ul>
<li>If the given object is <code>null</code>, then this method returns <code>null</code>.</li>
<li>Otherwise if the given object is already an instance of
<code>Named­Identifier</code>, then it is returned unchanged.</li>
<li>Otherwise a new <code>Named­Identifier</code> instance is created using the
<a href="#%3Cinit%3E(org.opengis.referencing.ReferenceIdentifier)">copy constructor</a> and returned.
Note that this is a <em>shallow</em> copy operation, because the other
metadata contained in the given object are not recursively copied.</li>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>object</code> - the object to get as a SIS implementation, or <code>null</code> if none.</dd>
<dt>Returns:</dt>
<dd>a SIS implementation containing the values of the given object (may be the
given object itself), or <code>null</code> if the argument was null.</dd>
<dt>Since:</dt>
<dd>1.0</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="castOrCopy(org.opengis.util.GenericName)">
<h3>castOrCopy</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="NamedIdentifier.html" title="class in org.apache.sis.referencing">NamedIdentifier</a></span>&nbsp;<span class="element-name">castOrCopy</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">GenericName</a>&nbsp;object)</span></div>
<div class="block">Returns a SIS name implementation with the values of the given arbitrary implementation.
This method performs the first applicable action in the following choices:
<ul>
<li>If the given object is <code>null</code>, then this method returns <code>null</code>.</li>
<li>Otherwise if the given object is already an instance of
<code>Named­Identifier</code>, then it is returned unchanged.</li>
<li>Otherwise a new <code>Named­Identifier</code> instance is created using the
<a href="#%3Cinit%3E(org.opengis.util.GenericName)">copy constructor</a> and returned.
Note that this is a <em>shallow</em> copy operation, because the other
metadata contained in the given object are not recursively copied.</li>
</ul></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>object</code> - the object to get as a SIS implementation, or <code>null</code> if none.</dd>
<dt>Returns:</dt>
<dd>a SIS implementation containing the values of the given object (may be the
given object itself), or <code>null</code> if the argument was null.</dd>
<dt>Since:</dt>
<dd>1.0</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="tip()">
<h3>tip</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/LocalName.html" title="class or interface in org.opengis.util" class="external-link">LocalName</a></span>&nbsp;<span class="element-name">tip</span>()</div>
<div class="block">The last element in the sequence of <a href="#getParsedNames()">parsed names</a>.
By default, this is the same value than the <a href="ImmutableIdentifier.html#getCode()">code</a> provided as a local name.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html#tip()" title="class or interface in org.opengis.util" class="external-link">tip</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a></code></dd>
<dt>Returns:</dt>
<dd>the last element in the list of <a href="#getParsedNames()">parsed names</a>.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="ImmutableIdentifier.html#getCode()"><code>Immutable­Identifier​.get­Code()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="head()">
<h3>head</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/LocalName.html" title="class or interface in org.opengis.util" class="external-link">LocalName</a></span>&nbsp;<span class="element-name">head</span>()</div>
<div class="block">Returns the first element in the sequence of <a href="#getParsedNames()">parsed names</a>.
By default, this is the same value than the <a href="ImmutableIdentifier.html#getCodeSpace()">code space</a> provided as a local name.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html#head()" title="class or interface in org.opengis.util" class="external-link">head</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a></code></dd>
<dt>Returns:</dt>
<dd>the first element in the list of <a href="#getParsedNames()">parsed names</a>.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#scope()"><code>scope()</code></a></li>
<li><a href="ImmutableIdentifier.html#getCodeSpace()"><code>Immutable­Identifier​.get­Code­Space()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="scope()">
<h3>scope</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/NameSpace.html" title="class or interface in org.opengis.util" class="external-link">NameSpace</a></span>&nbsp;<span class="element-name">scope</span>()</div>
<div class="block">Returns the scope (name space) in which this name is local.
By default, this is the same value than the <a href="ImmutableIdentifier.html#getAuthority()"><code>authority</code></a> provided as a name space.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html#scope()" title="class or interface in org.opengis.util" class="external-link">scope</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a></code></dd>
<dt>Returns:</dt>
<dd>the scope of this name.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#head()"><code>head()</code></a></li>
<li><a href="ImmutableIdentifier.html#getAuthority()"><code>Immutable­Identifier​.get­Authority()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="depth()">
<h3>depth</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">depth</span>()</div>
<div class="block">Returns the depth of this name within the namespace hierarchy.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html#depth()" title="class or interface in org.opengis.util" class="external-link">depth</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a></code></dd>
<dt>Returns:</dt>
<dd>the depth of this name.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getParsedNames()">
<h3>getParsedNames</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/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;? extends <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/LocalName.html" title="class or interface in org.opengis.util" class="external-link">LocalName</a>&gt;</span>&nbsp;<span class="element-name">getParsedNames</span>()</div>
<div class="block">Returns the sequence of <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/LocalName.html" title="class or interface in org.opengis.util" class="external-link">local names</a> making this generic name.
The length of this sequence is the <a href="#depth()">depth</a>.
It does not include the <a href="#scope()">scope</a>.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html#getParsedNames()" title="class or interface in org.opengis.util" class="external-link">get­Parsed­Names</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a></code></dd>
<dt>Returns:</dt>
<dd>the local names making this generic name, without the <a href="#scope()">scope</a>.
Shall never be <code>null</code> neither empty.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="push(org.opengis.util.GenericName)">
<h3>push</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/ScopedName.html" title="class or interface in org.opengis.util" class="external-link">ScopedName</a></span>&nbsp;<span class="element-name">push</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">GenericName</a>&nbsp;scope)</span></div>
<div class="block">Returns this name expanded with the specified scope. One may represent this operation
as a concatenation of the specified <code>name</code> with <code>this</code>.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html#push(org.opengis.util.GenericName)" title="class or interface in org.opengis.util" class="external-link">push</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a></code></dd>
<dt>Parameters:</dt>
<dd><code>scope</code> - The name to use as prefix.</dd>
<dt>Returns:</dt>
<dd>a concatenation of the given scope with this name.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toFullyQualifiedName()">
<h3>toFullyQualifiedName</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/GenericName.html" title="class or interface in org.opengis.util" class="external-link">GenericName</a></span>&nbsp;<span class="element-name">toFullyQualifiedName</span>()</div>
<div class="block">Returns a view of this name as a fully-qualified name.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html#toFullyQualifiedName()" title="class or interface in org.opengis.util" class="external-link">to­Fully­Qualified­Name</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a></code></dd>
<dt>Returns:</dt>
<dd>the fully-qualified name (never <code>null</code>).</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toInternationalString()">
<h3>toInternationalString</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">toInternationalString</span>()</div>
<div class="block">Returns a local-dependent string representation of this generic name.
This string is similar to the one returned by <a href="#toString()"><code>to­String()</code></a> except that each element has
been localized in the <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/InternationalString.html#toString(java.util.Locale)" title="class or interface in org.opengis.util" class="external-link">specified locale</a>.
If no international string is available, then this method returns an implementation mapping
to <code>to­String()</code> for all locales.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html#toInternationalString()" title="class or interface in org.opengis.util" class="external-link">to­International­String</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a></code></dd>
<dt>Returns:</dt>
<dd>a localizable string representation of this name.</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 generic name. This string representation
is local-independent. It contains all elements listed by <a href="#getParsedNames()"><code>get­Parsed­Names()</code></a>
separated by a namespace-dependent character (usually <code>:</code> or <code>/</code>).</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html#toString()" title="class or interface in org.opengis.util" class="external-link">to­String</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="../io/wkt/FormattableObject.html#toString()">to­String</a></code>&nbsp;in class&nbsp;<code><a href="../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">Formattable­Object</a></code></dd>
<dt>Returns:</dt>
<dd>a local-independent string representation of this generic name.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="IdentifiedObjects.html#toString(org.opengis.metadata.Identifier)"><code>Identified­Objects​.to­String(Identifier)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="compareTo(org.opengis.util.GenericName)">
<h3>compareTo</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">compareTo</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">GenericName</a>&nbsp;object)</span></div>
<div class="block">Compares this name with the specified object for order. Returns a negative integer,
zero, or a positive integer as this name lexicographically precedes, is equal to,
or follows the specified object.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Comparable.html#compareTo(T)" title="class or interface in java.lang" class="external-link">compare­To</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>object</code> - the object to compare with.</dd>
<dt>Returns:</dt>
<dd>-1 if this identifier precedes the given object, +1 if it follows it.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="equals(java.lang.Object)">
<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)</span></div>
<div class="block">Compares this identifier with the specified object for equality.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="ImmutableIdentifier.html#equals(java.lang.Object)">equals</a></code>&nbsp;in class&nbsp;<code><a href="ImmutableIdentifier.html" title="class in org.apache.sis.referencing">Immutable­Identifier</a></code></dd>
<dt>Parameters:</dt>
<dd><code>object</code> - the object to compare with this name.</dd>
<dt>Returns:</dt>
<dd><code>true</code> if the given object is equal to this name.</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 object.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="ImmutableIdentifier.html#hashCode()">hash­Code</a></code>&nbsp;in class&nbsp;<code><a href="ImmutableIdentifier.html" title="class in org.apache.sis.referencing">Immutable­Identifier</a></code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>