<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 -->
<title>TypeBuilder (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.feature.builder.TypeBuilder class">
<meta name="keywords" content="getName()">
<meta name="keywords" content="setName()">
<meta name="keywords" content="getDefinition()">
<meta name="keywords" content="setDefinition()">
<meta name="keywords" content="getDesignation()">
<meta name="keywords" content="setDesignation()">
<meta name="keywords" content="getDescription()">
<meta name="keywords" content="setDescription()">
<meta name="keywords" content="isDeprecated()">
<meta name="keywords" content="setDeprecated()">
<meta name="keywords" content="getLocale()">
<meta name="keywords" content="toString()">
<meta name="keywords" content="build()">
<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="TypeBuilder (Apache SIS 1.0 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":6,"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};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/TypeBuilder.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>Constr&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>Constr&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.feature.builder</a></div>
<h2 title="Class TypeBuilder" class="title">Class TypeBuilder</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>TypeBuilder</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../../util/Localized.html" title="interface in org.apache.sis.util">Localized</a></code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">Characteristic­Type­Builder</a></code>, <code><a href="FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">Feature­Type­Builder</a></code>, <code><a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">Property­Type­Builder</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">TypeBuilder</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>
implements <a href="../../util/Localized.html" title="interface in org.apache.sis.util">Localized</a></pre>
<div class="block">Information common to all kind of types (feature, association, characteristics).
 Those information are:

 <ul>
   <li>the name        — a unique name which can be defined within a scope (or namespace).</li>
   <li>the definition  — a concise definition of the element.</li>
   <li>the designation — a natural language designator for the element for user interfaces.</li>
   <li>the description — information beyond that required for concise definition of the element.</li>
 </ul>

 The name is mandatory and can be specified as either <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/LocalName.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink"><code>Local­Name</code></a>,
 <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/ScopedName.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink"><code>Scoped­Name</code></a>, <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"><code>String</code></a> or <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"><code>International­String</code></a> instance.
 All other properties are optional.

 <div class="section">Default namespace</div>
 In many cases, the names of all <code>Attribute­Type</code>s and <code>Association­Role</code>s to create
 within a <code>Feature­Type</code> share the same namespace.
 For making name creations more convenient, the namespace can be
 <a href="FeatureTypeBuilder.html#setNameSpace(java.lang.CharSequence)">specified once</a> and applied automatically
 to all names created by the <a href="#setName(java.lang.CharSequence)"><code>set­Name(Char­Sequence)</code></a> method.
 Note that namespaces will not be visible in the name <a href="../../util/iso/DefaultLocalName.html#toString()">string representation</a> unless the <a href="../../util/iso/AbstractName.html#toFullyQualifiedName()">fully
 qualified name</a> is requested.
 Example:

 <blockquote><pre>FeatureTypeBuilder builder = <font color="green">new</font> <b>FeatureTypeBuilder</b>().<b>setNameSpace</b>(<font color="orangered">"MyNameSpace"</font>).<b>setName</b>(<font color="orangered">"City"</font>);
FeatureType city = builder.<b>build</b>();

System.out.<b>println</b>(city.<b>getName</b>());                              <i><font color="gray">// Prints "City"</font></i>
System.out.<b>println</b>(city.<b>getName</b>().<b>toFullyQualifiedName</b>());       <i><font color="gray">// Prints "MyNameSpace:City"</font></i></pre></blockquote></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.8</dd>

<p><font size="-1">Defined in the <code>sis-feature</code> module</font></p>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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>abstract <a href="../AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#build()">build</a></span>()</code></th>
<td class="colLast">
<div class="block">Builds the feature or property type from the information specified to this builder.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><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></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 a concise definition of the element.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><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></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDescription()">getDescription</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns optional information beyond that required for concise definition of the element.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><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></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDesignation()">getDesignation</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a natural language designator for the element.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util" class="externalLink">Locale</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLocale()">getLocale</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the locale used for formatting error messages, or <code>null</code> if unspecified.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/GenericName.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">GenericName</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 <code>Identified­Type</code> to create, or <code>null</code> if undefined.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDeprecated()">isDeprecated</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns <code>true</code> if the type is deprecated.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></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;definition)</code></th>
<td class="colLast">
<div class="block">Sets a concise definition of the element.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeprecated(boolean)">setDeprecated</a></span>&#8203;(boolean&nbsp;deprecated)</code></th>
<td class="colLast">
<div class="block">Sets whether the type is deprecated.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDescription(java.lang.CharSequence)">setDescription</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;description)</code></th>
<td class="colLast">
<div class="block">Sets optional information beyond that required for concise definition of the element.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDesignation(java.lang.CharSequence)">setDesignation</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;designation)</code></th>
<td class="colLast">
<div class="block">Sets a natural language designator for the element.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setName(java.lang.CharSequence)">setName</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;localPart)</code></th>
<td class="colLast">
<div class="block">Sets the <code>Identified­Type</code> name as a simple string (local name).</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setName(java.lang.CharSequence...)">setName</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;components)</code></th>
<td class="colLast">
<div class="block">Sets the <code>Identified­Type</code> name as a string in the given scope.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setName(org.opengis.util.GenericName)">setName</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/GenericName.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">GenericName</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Sets the <code>Identified­Type</code> name as a generic name.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<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 object.</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#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</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#hashCode()" title="class or interface in java.lang" class="externalLink">hash­Code</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">
<!-- ============ 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/GenericName.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">GenericName</a>&nbsp;getName()</pre>
<div class="block">Returns the name of the <code>Identified­Type</code> to create, or <code>null</code> if undefined.
 This method returns the value built from the last call to a <code>set­Name(…)</code> method,
 or a default name or <code>null</code> if no name has been explicitly specified.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the name of the <code>Identified­Type</code> to create (may be a default name or <code>null</code>).</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#setName(org.opengis.util.GenericName)"><code>set­Name(Generic­Name)</code></a>, 
<a href="../AbstractIdentifiedType.html#getName()"><code>Abstract­Identified­Type​.get­Name()</code></a>, 
<a href="FeatureTypeBuilder.html#getNameSpace()"><code>Feature­Type­Builder​.get­Name­Space()</code></a></dd>
</dl>
</li>
</ul>
<a id="setName(org.opengis.util.GenericName)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setName</h4>
<pre class="methodSignature">public&nbsp;<a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a>&nbsp;setName&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/GenericName.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">GenericName</a>&nbsp;name)</pre>
<div class="block">Sets the <code>Identified­Type</code> name as a generic name.
 If another name was defined before this method call, that previous value will be discarded.

 <div class="note"><b>Note for subclasses:</b>
 all <code>set­Name(…)</code> convenience methods in this builder delegate to this method.
 Consequently this method can be used as a central place where to control the creation of all names.</div></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the generic name (can not be <code>null</code>).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for allowing method calls chaining.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getName()"><code>get­Name()</code></a>, 
<a href="#setName(java.lang.CharSequence)"><code>set­Name(Char­Sequence)</code></a>, 
<a href="../AbstractIdentifiedType.html#NAME_KEY"><code>Abstract­Identified­Type​.NAME_KEY</code></a></dd>
</dl>
</li>
</ul>
<a id="setName(java.lang.CharSequence)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setName</h4>
<pre class="methodSignature">public&nbsp;<a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a>&nbsp;setName&#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;localPart)</pre>
<div class="block">Sets the <code>Identified­Type</code> name as a simple string (local name).
 The namespace will be the value specified by the last call to <a href="FeatureTypeBuilder.html#setNameSpace(java.lang.CharSequence)"><code>Feature­Type­Builder​.set­Name­Space(Char­Sequence)</code></a>,
 but that namespace will not be visible in the <a href="../../util/iso/DefaultLocalName.html#toString()">string representation</a> unless the <a href="../../util/iso/AbstractName.html#toFullyQualifiedName()">fully qualified name</a> is requested.

 <p>This convenience method creates a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/LocalName.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink"><code>Local­Name</code></a> instance from
 the given <code>Char­Sequence</code>, then delegates to <a href="#setName(org.opengis.util.GenericName)"><code>set­Name(Generic­Name)</code></a>.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>local­Part</code> - the local part of the generic name as a <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"><code>String</code></a> or <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"><code>International­String</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for allowing method calls chaining.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getName()"><code>get­Name()</code></a>, 
<a href="#setName(java.lang.CharSequence...)"><code>set­Name(Char­Sequence...)</code></a>, 
<a href="FeatureTypeBuilder.html#getNameSpace()"><code>Feature­Type­Builder​.get­Name­Space()</code></a></dd>
</dl>
</li>
</ul>
<a id="setName(java.lang.CharSequence...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setName</h4>
<pre class="methodSignature">public&nbsp;<a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a>&nbsp;setName&#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;components)</pre>
<div class="block">Sets the <code>Identified­Type</code> name as a string in the given scope.
 The <code>components</code> array must contain at least one element.
 The last component (the <a href="../../util/iso/AbstractName.html#tip()">tip</a>) will be sufficient
 in many cases for calls to the <a href="../AbstractFeature.html#getProperty(java.lang.String)"><code>Abstract­Feature​.get­Property(String)</code></a> method.
 The other elements before the last one are optional and can be used for resolving ambiguity.
 They will be visible as the name <a href="../../util/iso/DefaultScopedName.html#path()">path</a>.

 <div class="note"><b>Example:</b>
 a call to <code>set­Name("A", "B", "C")</code> will create a "A:B:C" name.
 A property built with this name can be obtained from a feature by a call to <code>feature​.get­Property("C")</code>
 if there is no ambiguity, or otherwise by a call to <code>feature​.get­Property("B:C")</code> (if non-ambiguous) or
 <code>feature​.get­Property("A:B:C")</code>.</div>

 In addition to the path specified by the <code>components</code> array, the name may also contain
 a namespace specified by the last call to <a href="FeatureTypeBuilder.html#setNameSpace(java.lang.CharSequence)"><code>Feature­Type­Builder​.set­Name­Space(Char­Sequence)</code></a>.
 But contrarily to the specified components, the namespace will not be visible in the name
 <a href="../../util/iso/AbstractName.html#toString()">string representation</a> unless the
 <a href="../../util/iso/AbstractName.html#toFullyQualifiedName()">fully qualified name</a> is requested.

 <p>This convenience method creates a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/LocalName.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink"><code>Local­Name</code></a> or <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/ScopedName.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink"><code>Scoped­Name</code></a>
 instance depending on whether the <code>names</code> array contains exactly 1 element or more than 1 element, then
 delegates to <a href="#setName(org.opengis.util.GenericName)"><code>set­Name(Generic­Name)</code></a>.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>components</code> - the name components as an array of <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"><code>String</code></a> or <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"><code>International­String</code></a> instances.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for allowing method calls chaining.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getName()"><code>get­Name()</code></a>, 
<a href="#setName(java.lang.CharSequence)"><code>set­Name(Char­Sequence)</code></a>, 
<a href="FeatureTypeBuilder.html#getNameSpace()"><code>Feature­Type­Builder​.get­Name­Space()</code></a></dd>
</dl>
</li>
</ul>
<a id="getDefinition()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefinition</h4>
<pre class="methodSignature">public&nbsp;<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;getDefinition()</pre>
<div class="block">Returns a concise definition of the element.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>concise definition of the element, or <code>null</code> if none.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../AbstractIdentifiedType.html#getDefinition()"><code>Abstract­Identified­Type​.get­Definition()</code></a></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;<a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a>&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;definition)</pre>
<div class="block">Sets a concise definition of the element.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>definition</code> - a concise definition of the element, or <code>null</code> if none.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for allowing method calls chaining.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getDefinition()"><code>get­Definition()</code></a>, 
<a href="../AbstractIdentifiedType.html#DEFINITION_KEY"><code>Abstract­Identified­Type​.DEFINITION_KEY</code></a></dd>
</dl>
</li>
</ul>
<a id="getDesignation()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDesignation</h4>
<pre class="methodSignature">public&nbsp;<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;getDesignation()</pre>
<div class="block">Returns a natural language designator for the element.
 This can be used as an alternative to the <a href="#getName()">name</a> in user interfaces.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>natural language designator for the element, or <code>null</code> if none.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../AbstractIdentifiedType.html#getDesignation()"><code>Abstract­Identified­Type​.get­Designation()</code></a></dd>
</dl>
</li>
</ul>
<a id="setDesignation(java.lang.CharSequence)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDesignation</h4>
<pre class="methodSignature">public&nbsp;<a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a>&nbsp;setDesignation&#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;designation)</pre>
<div class="block">Sets a natural language designator for the element.
 This can be used as an alternative to the <a href="#getName()">name</a> in user interfaces.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>designation</code> - a natural language designator for the element, or <code>null</code> if none.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for allowing method calls chaining.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getDesignation()"><code>get­Designation()</code></a>, 
<a href="../AbstractIdentifiedType.html#DESIGNATION_KEY"><code>Abstract­Identified­Type​.DESIGNATION_KEY</code></a></dd>
</dl>
</li>
</ul>
<a id="getDescription()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescription</h4>
<pre class="methodSignature">public&nbsp;<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;getDescription()</pre>
<div class="block">Returns optional information beyond that required for concise definition of the element.
 The description may assist in understanding the element scope and application.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>information beyond that required for concise definition of the element, or <code>null</code> if none.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../AbstractIdentifiedType.html#getDescription()"><code>Abstract­Identified­Type​.get­Description()</code></a></dd>
</dl>
</li>
</ul>
<a id="setDescription(java.lang.CharSequence)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDescription</h4>
<pre class="methodSignature">public&nbsp;<a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a>&nbsp;setDescription&#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;description)</pre>
<div class="block">Sets optional information beyond that required for concise definition of the element.
 The description may assist in understanding the feature scope and application.
 If the type <a href="#isDeprecated()">is deprecated</a>, then the description should
 give indication about the replacement (e.g. <cite>"superceded by …"</cite>).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>description</code> - information beyond that required for concise definition of the element, or <code>null</code> if none.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for allowing method calls chaining.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getDescription()"><code>get­Description()</code></a>, 
<a href="../AbstractIdentifiedType.html#DESCRIPTION_KEY"><code>Abstract­Identified­Type​.DESCRIPTION_KEY</code></a></dd>
</dl>
</li>
</ul>
<a id="isDeprecated()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDeprecated</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isDeprecated()</pre>
<div class="block">Returns <code>true</code> if the type is deprecated.
 If this method returns <code>true</code>, then the <a href="#getDescription()">description</a> should give
 indication about the replacement (e.g. <cite>"superceded by …"</cite>).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether this type is deprecated.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../AbstractIdentifiedType.html#isDeprecated()"><code>Abstract­Identified­Type​.is­Deprecated()</code></a></dd>
</dl>
</li>
</ul>
<a id="setDeprecated(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeprecated</h4>
<pre class="methodSignature">public&nbsp;<a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a>&nbsp;setDeprecated&#8203;(boolean&nbsp;deprecated)</pre>
<div class="block">Sets whether the type is deprecated.
 If the type is deprecated, then the <a href="#setDescription(java.lang.CharSequence)">description</a>
 should be set to an indication about the replacement (e.g. <cite>"superceded by …"</cite>).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>deprecated</code> - whether this type is deprecated.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for allowing method calls chaining.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#isDeprecated()"><code>is­Deprecated()</code></a>, 
<a href="../AbstractIdentifiedType.html#DEPRECATED_KEY"><code>Abstract­Identified­Type​.DEPRECATED_KEY</code></a></dd>
</dl>
</li>
</ul>
<a id="getLocale()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocale</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util" class="externalLink">Locale</a>&nbsp;getLocale()</pre>
<div class="block">Returns the locale used for formatting error messages, or <code>null</code> if unspecified.
 If unspecified, the system default locale will be used.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../util/Localized.html#getLocale()">get­Locale</a></code>&nbsp;in interface&nbsp;<code><a href="../../util/Localized.html" title="interface in org.apache.sis.util">Localized</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the locale used for formatting error messages, or <code>null</code> if unspecified.</dd>
</dl>
</li>
</ul>
<a id="toString()">
<!--   -->
</a>
<ul class="blockList">
<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 object.
 The returned string is for debugging purpose only 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 object for debugging purpose.</dd>
</dl>
</li>
</ul>
<a id="build()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>build</h4>
<pre class="methodSignature">public abstract&nbsp;<a href="../AbstractIdentifiedType.html" title="class in org.apache.sis.feature">AbstractIdentifiedType</a>&nbsp;build()
                                      throws <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">IllegalStateException</a></pre>
<div class="block">Builds the feature or property type from the information specified to this builder.
 If a type has already been built and this builder state has not changed since the type creation,
 then the previously created <code>Identified­Type</code> instance is returned.

 <div class="warning"><b>Warning:</b> In a future SIS version, the return type may be changed to the
 <code>org​.opengis​.feature​.Identified­Type</code> interface. This change is pending GeoAPI revision.</div></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the feature or property type.</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 the builder contains inconsistent information.</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/TypeBuilder.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>Constr&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>Constr&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>
