blob: 0830473752f4518a7d6dc7b67f9e8fd091fda67c [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 -->
<title>AttributeTypeBuilder (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.AttributeTypeBuilder class">
<meta name="keywords" content="setName()">
<meta name="keywords" content="setMinimumOccurs()">
<meta name="keywords" content="setMaximumOccurs()">
<meta name="keywords" content="getValueClass()">
<meta name="keywords" content="setValueClass()">
<meta name="keywords" content="getDefaultValue()">
<meta name="keywords" content="setDefaultValue()">
<meta name="keywords" content="getValidValues()">
<meta name="keywords" content="setValidValues()">
<meta name="keywords" content="getMaximalLength()">
<meta name="keywords" content="setMaximalLength()">
<meta name="keywords" content="getCRS()">
<meta name="keywords" content="setCRS()">
<meta name="keywords" content="getCharacteristic()">
<meta name="keywords" content="addCharacteristic()">
<meta name="keywords" content="characteristics()">
<meta name="keywords" content="roles()">
<meta name="keywords" content="addRole()">
<meta name="keywords" content="setDefinition()">
<meta name="keywords" content="setDesignation()">
<meta name="keywords" content="setDescription()">
<meta name="keywords" content="setDeprecated()">
<meta name="keywords" content="remove()">
<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="AttributeTypeBuilder (Apache SIS 1.0 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AttributeTypeBuilder.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 AttributeTypeBuilder" class="title">Class AttributeTypeBuilder&lt;V&gt;</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><a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></li>
<li>
<ul class="inheritance">
<li><a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></li>
<li>
<ul class="inheritance">
<li>AttributeTypeBuilder&lt;V&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>V</code> - the class of attribute values.</dd>
</dl>
<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>
<hr>
<pre>public final class <span class="typeNameLabel">AttributeTypeBuilder&lt;V&gt;</span>
extends <a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></pre>
<div class="block">Describes one <code>Attribute­Type</code> which will be part of the feature type to be built by
a <code>Feature­Type­Builder</code>. An attribute can be for example a city name, a temperature
(together with its units of measurement and uncertainty if desired) or a geometric shape.
Attribute types contain the following information:
<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>
<li>the value class — often <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>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Float</code></a> or <code>Geometry</code>.
Must be specified at <a href="FeatureTypeBuilder.html#addAttribute(java.lang.Class)">construction time</a>.</li>
<li>a default value — to be used when an attribute instance does not provide an explicit value.</li>
<li>characteristics — for example the units of measurement for all attributes of the same type.</li>
<li>multiplicity — the minimum and maximum occurrences of attribute values.</li>
</ul></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.8</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="FeatureTypeBuilder.html#addAttribute(java.lang.Class)"><code>Feature­Type­Builder​.add­Attribute(Class)</code></a>,
<a href="../DefaultAttributeType.html" title="class in org.apache.sis.feature"><code>Default­Attribute­Type</code></a></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="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>&lt;C&gt;&nbsp;<a href="CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a>&lt;C&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addCharacteristic(java.lang.Class)">addCharacteristic</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;C&gt;&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Adds another attribute type that describes this attribute type.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>&lt;C&gt;&nbsp;<a href="CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a>&lt;C&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addCharacteristic(org.apache.sis.feature.DefaultAttributeType)">addCharacteristic</a></span>&#8203;(<a href="../DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a>&lt;C&gt;&nbsp;template)</code></th>
<td class="colLast">
<div class="block">Adds another attribute type that describes this attribute type, using an existing one as a template.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addRole(org.apache.sis.feature.builder.AttributeRole)">addRole</a></span>&#8203;(<a href="AttributeRole.html" title="enum in org.apache.sis.feature.builder">AttributeRole</a>&nbsp;role)</code></th>
<td class="colLast">
<div class="block">Flags this attribute as an input of one of the pre-defined operations managed by <code>Attribute­Type­Builder</code>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</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 attribute type from the information specified to this builder.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a>&lt;?&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#characteristics()">characteristics</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a view of all characteristics added to the <code>Attribute­Type</code> to build.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a>&lt;?&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCharacteristic(java.lang.String)">getCharacteristic</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Returns the builder for the characteristic of the given name.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/crs/CoordinateReferenceSystem.html?is-external=true" title="class or interface in org.opengis.referencing.crs" class="externalLink">CoordinateReferenceSystem</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCRS()">getCRS</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the coordinate reference system associated to attribute values.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDefaultValue()">getDefaultValue</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the default value for the attribute, or <code>null</code> if none.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaximalLength()">getMaximalLength</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the maximal length that characterizes the <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"><code>Char­Sequence</code></a> values of this attribute.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getValidValues()">getValidValues</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an enumeration of valid values for the attribute, or an empty array if none.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getValueClass()">getValueClass</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the class of attribute values.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remove()">remove</a></span>()</code></th>
<td class="colLast">
<div class="block">Removes this property from the <code>Feature­Type­Builder</code>.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="AttributeRole.html" title="enum in org.apache.sis.feature.builder">AttributeRole</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#roles()">roles</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the roles that the attribute play in the pre-defined operations managed by <code>Attribute­Type­Builder</code>.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCRS(org.opengis.referencing.crs.CoordinateReferenceSystem)">setCRS</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/crs/CoordinateReferenceSystem.html?is-external=true" title="class or interface in org.opengis.referencing.crs" class="externalLink">CoordinateReferenceSystem</a>&nbsp;crs)</code></th>
<td class="colLast">
<div class="block">Sets the coordinate reference system that characterizes the values of this attribute.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDefaultValue(V)">setDefaultValue</a></span>&#8203;(<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Sets the default value for the attribute.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</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="i16" class="altColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</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="i17" class="rowColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</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="i18" class="altColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</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="i19" class="rowColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaximalLength(java.lang.Integer)">setMaximalLength</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>&nbsp;length)</code></th>
<td class="colLast">
<div class="block">Sets the maximal length that characterizes the <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"><code>Char­Sequence</code></a> values of this attribute.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaximumOccurs(int)">setMaximumOccurs</a></span>&#8203;(int&nbsp;occurs)</code></th>
<td class="colLast">
<div class="block">Sets the maximum number of attribute values.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMinimumOccurs(int)">setMinimumOccurs</a></span>&#8203;(int&nbsp;occurs)</code></th>
<td class="colLast">
<div class="block">Sets the minimum number of attribute values.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</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>Attribute­Type</code> name as a simple string (local name).</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</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>Attribute­Type</code> name as a string in the given scope.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</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>Attribute­Type</code> name as a generic name.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setValidValues(V...)">setValidValues</a></span>&#8203;(<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>...&nbsp;values)</code></th>
<td class="colLast">
<div class="block">Sets an enumeration of valid values for the attribute.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>&lt;N&gt;&nbsp;<a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;N&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setValueClass(java.lang.Class)">setValueClass</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;N&gt;&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Sets the class of attribute values.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.PropertyTypeBuilder">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;<a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></h3>
<code><a href="PropertyTypeBuilder.html#getMaximumOccurs()">get­Maximum­Occurs</a>, <a href="PropertyTypeBuilder.html#getMinimumOccurs()">get­Minimum­Occurs</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.TypeBuilder">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;<a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></h3>
<code><a href="TypeBuilder.html#getDefinition()">get­Definition</a>, <a href="TypeBuilder.html#getDescription()">get­Description</a>, <a href="TypeBuilder.html#getDesignation()">get­Designation</a>, <a href="TypeBuilder.html#getLocale()">get­Locale</a>, <a href="TypeBuilder.html#getName()">get­Name</a>, <a href="TypeBuilder.html#isDeprecated()">is­Deprecated</a>, <a href="TypeBuilder.html#toString()">to­String</a></code></li>
</ul>
<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="setName(org.opengis.util.GenericName)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setName</h4>
<pre class="methodSignature">public&nbsp;<a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&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>Attribute­Type</code> name as a generic name.
If another name was defined before this method call, that previous value will be discarded.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="PropertyTypeBuilder.html#setName(org.opengis.util.GenericName)">set­Name</a></code>&nbsp;in class&nbsp;<code><a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">Property­Type­Builder</a></code></dd>
<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="TypeBuilder.html#getName()"><code>Type­Builder​.get­Name()</code></a>,
<a href="TypeBuilder.html#setName(java.lang.CharSequence)"><code>Type­Builder​.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="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&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>Attribute­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="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="PropertyTypeBuilder.html#setName(java.lang.CharSequence)">set­Name</a></code>&nbsp;in class&nbsp;<code><a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">Property­Type­Builder</a></code></dd>
<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="TypeBuilder.html#getName()"><code>Type­Builder​.get­Name()</code></a>,
<a href="TypeBuilder.html#setName(java.lang.CharSequence...)"><code>Type­Builder​.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="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&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>Attribute­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.
An attribute 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="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="PropertyTypeBuilder.html#setName(java.lang.CharSequence...)">set­Name</a></code>&nbsp;in class&nbsp;<code><a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">Property­Type­Builder</a></code></dd>
<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="TypeBuilder.html#getName()"><code>Type­Builder​.get­Name()</code></a>,
<a href="TypeBuilder.html#setName(java.lang.CharSequence)"><code>Type­Builder​.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="setMinimumOccurs(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMinimumOccurs</h4>
<pre class="methodSignature">public&nbsp;<a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&nbsp;setMinimumOccurs&#8203;(int&nbsp;occurs)</pre>
<div class="block">Sets the minimum number of attribute values. If the given number is greater than the
<a href="PropertyTypeBuilder.html#getMaximumOccurs()">maximal number</a> of attribute values, than the maximum
is also set to that value.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="PropertyTypeBuilder.html#setMinimumOccurs(int)">set­Minimum­Occurs</a></code>&nbsp;in class&nbsp;<code><a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">Property­Type­Builder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>occurs</code> - the new minimum number of attribute values.</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="PropertyTypeBuilder.html#getMinimumOccurs()"><code>Property­Type­Builder​.get­Minimum­Occurs()</code></a></dd>
</dl>
</li>
</ul>
<a id="setMaximumOccurs(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaximumOccurs</h4>
<pre class="methodSignature">public&nbsp;<a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&nbsp;setMaximumOccurs&#8203;(int&nbsp;occurs)</pre>
<div class="block">Sets the maximum number of attribute values. If the given number is less than the
<a href="PropertyTypeBuilder.html#getMinimumOccurs()">minimal number</a> of attribute values, than the minimum
is also set to that value. <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true#MAX_VALUE" title="class or interface in java.lang" class="externalLink"><code>Integer​.MAX_VALUE</code></a> means that there is no maximum.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="PropertyTypeBuilder.html#setMaximumOccurs(int)">set­Maximum­Occurs</a></code>&nbsp;in class&nbsp;<code><a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">Property­Type­Builder</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>occurs</code> - the new maximum number of attribute values.</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="PropertyTypeBuilder.html#getMaximumOccurs()"><code>Property­Type­Builder​.get­Maximum­Occurs()</code></a></dd>
</dl>
</li>
</ul>
<a id="getValueClass()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValueClass</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&nbsp;getValueClass()</pre>
<div class="block">Returns the class of attribute values.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the class of attribute values.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#setValueClass(java.lang.Class)"><code>set­Value­Class(Class)</code></a></dd>
</dl>
</li>
</ul>
<a id="setValueClass(java.lang.Class)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setValueClass</h4>
<pre class="methodSignature">public&nbsp;&lt;N&gt;&nbsp;<a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;N&gt;&nbsp;setValueClass&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;N&gt;&nbsp;type)
throws <a href="../../util/UnconvertibleObjectException.html" title="class in org.apache.sis.util">UnconvertibleObjectException</a></pre>
<div class="block">Sets the class of attribute values. Callers <strong>must</strong> use the builder returned by this method
instead of <code>this</code> builder after this method call, since the returned builder may be a new instance.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>N</code> - the compile-time value of the <code>type</code> argument.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - the new class of attribute values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the attribute builder — <em>not necessarily this instance.</em></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../util/UnconvertibleObjectException.html" title="class in org.apache.sis.util">Unconvertible­Object­Exception</a></code> - if the <a href="#getDefaultValue()">default value</a>
can not be converted to the given <code>&lt;N&gt;</code> class.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getValueClass()"><code>get­Value­Class()</code></a></dd>
</dl>
</li>
</ul>
<a id="getDefaultValue()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultValue</h4>
<pre class="methodSignature">public&nbsp;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&nbsp;getDefaultValue()</pre>
<div class="block">Returns the default value for the attribute, or <code>null</code> if none.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the default attribute value, or <code>null</code> if none.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#setDefaultValue(V)"><code>set­Default­Value(Object)</code></a></dd>
</dl>
</li>
</ul>
<a id="setDefaultValue(java.lang.Object)">
<!-- -->
</a><a id="setDefaultValue(V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDefaultValue</h4>
<pre class="methodSignature">public&nbsp;<a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&nbsp;setDefaultValue&#8203;(<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&nbsp;value)</pre>
<div class="block">Sets the default value for the attribute.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - default attribute value, 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="#getDefaultValue()"><code>get­Default­Value()</code></a></dd>
</dl>
</li>
</ul>
<a id="getValidValues()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValidValues</h4>
<pre class="methodSignature">public&nbsp;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>[]&nbsp;getValidValues()</pre>
<div class="block">Returns an enumeration of valid values for the attribute, or an empty array if none.
This convenience method returns the value of the characteristic set by <a href="#setValidValues(V...)"><code>set­Valid­Values(Object...)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>valid values for the attribute, or an empty array if none.</dd>
</dl>
</li>
</ul>
<a id="setValidValues(java.lang.Object[])">
<!-- -->
</a><a id="setValidValues(V...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setValidValues</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/SafeVarargs.html?is-external=true" title="class or interface in java.lang" class="externalLink">@SafeVarargs</a>
public final&nbsp;<a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&nbsp;setValidValues&#8203;(<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>...&nbsp;values)</pre>
<div class="block">Sets an enumeration of valid values for the attribute.
<p>This is a convenience method for <a href="#addCharacteristic(java.lang.Class)"><code>add­Characteristic(Class)</code></a> with a value
of type <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Set</code></a> and a conventional name.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>values</code> - valid values.</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="#characteristics()"><code>characteristics()</code></a>,
<code>Attribute­Convention​.VALID_VALUES_CHARACTERISTIC</code></dd>
</dl>
</li>
</ul>
<a id="getMaximalLength()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaximalLength</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>&nbsp;getMaximalLength()</pre>
<div class="block">Returns the maximal length that characterizes the <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"><code>Char­Sequence</code></a> values of this attribute.
This convenience method returns the value of the characteristic set by <a href="#setMaximalLength(java.lang.Integer)"><code>set­Maximal­Length(Integer)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximal length of <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"><code>Char­Sequence</code></a> attribute values, or <code>null</code>.</dd>
</dl>
</li>
</ul>
<a id="setMaximalLength(java.lang.Integer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaximalLength</h4>
<pre class="methodSignature">public&nbsp;<a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&nbsp;setMaximalLength&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>&nbsp;length)</pre>
<div class="block">Sets the maximal length that characterizes the <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"><code>Char­Sequence</code></a> values of this attribute.
While this characteristic can be applied to any kind of attribute, it is meaningful only with
character sequences.
<p>This is a convenience method for <a href="#addCharacteristic(java.lang.Class)"><code>add­Characteristic(Class)</code></a> with a value
of type <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Integer</code></a> and a conventional name.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>length</code> - maximal length of <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"><code>Char­Sequence</code></a> attribute values, or <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="#characteristics()"><code>characteristics()</code></a>,
<code>Attribute­Convention​.MAXIMAL_LENGTH_CHARACTERISTIC</code></dd>
</dl>
</li>
</ul>
<a id="getCRS()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCRS</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/crs/CoordinateReferenceSystem.html?is-external=true" title="class or interface in org.opengis.referencing.crs" class="externalLink">CoordinateReferenceSystem</a>&nbsp;getCRS()</pre>
<div class="block">Returns the coordinate reference system associated to attribute values.
This convenience method returns the value of the characteristic set by <a href="#setCRS(org.opengis.referencing.crs.CoordinateReferenceSystem)"><code>set­CRS(Coordinate­Reference­System)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the coordinate reference system associated to attribute values, or <code>null</code>.</dd>
</dl>
</li>
</ul>
<a id="setCRS(org.opengis.referencing.crs.CoordinateReferenceSystem)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCRS</h4>
<pre class="methodSignature">public&nbsp;<a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&nbsp;setCRS&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/crs/CoordinateReferenceSystem.html?is-external=true" title="class or interface in org.opengis.referencing.crs" class="externalLink">CoordinateReferenceSystem</a>&nbsp;crs)</pre>
<div class="block">Sets the coordinate reference system that characterizes the values of this attribute.
While this characteristic can be applied to any kind of attribute, it is meaningful
only with georeferenced values like geometries or coverages.
<p>This is a convenience method for <a href="#addCharacteristic(java.lang.Class)"><code>add­Characteristic(Class)</code></a> with a value
of type <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/crs/CoordinateReferenceSystem.html?is-external=true" title="class or interface in org.opengis.referencing.crs" class="externalLink"><code>Coordinate­Reference­System</code></a> and a conventional name.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>crs</code> - coordinate reference system associated to attribute values, or <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="#characteristics()"><code>characteristics()</code></a>,
<code>Attribute­Convention​.CRS_CHARACTERISTIC</code></dd>
</dl>
</li>
</ul>
<a id="getCharacteristic(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCharacteristic</h4>
<pre class="methodSignature">public&nbsp;<a href="CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a>&lt;?&gt;&nbsp;getCharacteristic&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</pre>
<div class="block">Returns the builder for the characteristic of the given name. The given name does not need to contains
all elements of 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>; it is okay to specify only the tip (for example
<code>"my­Name"</code> instead of <code>"my­Scope:my­Name"</code>) provided that ignoring the name head does not
create ambiguity.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - name of the characteristic to search.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>characteristic of the given name, or <code>null</code> if none.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Illegal­Argument­Exception</a></code> - if the given name is ambiguous.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#characteristics()"><code>characteristics()</code></a></dd>
</dl>
</li>
</ul>
<a id="addCharacteristic(java.lang.Class)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addCharacteristic</h4>
<pre class="methodSignature">public&nbsp;&lt;C&gt;&nbsp;<a href="CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a>&lt;C&gt;&nbsp;addCharacteristic&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;C&gt;&nbsp;type)</pre>
<div class="block">Adds another attribute type that describes this attribute type.
See <cite>"Attribute characterization"</cite> in <a href="../DefaultAttributeType.html" title="class in org.apache.sis.feature"><code>Default­Attribute­Type</code></a> Javadoc for more information.
<p>Usage example:</p>
<blockquote><pre>attribute.<b>addCharacteristic</b>(Unit.<font color="green">class</font>).<b>setName</b>(<font color="orangered">"Unit of measurement"</font>).<b>setDefaultValue</b>(Units.CELSIUS);</pre></blockquote>
The default characteristic name is the name of the given type, but callers should invoke one
of the <code>Characteristic­Type­Builder​.set­Name(…)</code> methods on the returned instance with a better name.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>C</code> - the compile-time type of <code>type</code> argument.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - the class of characteristic values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a builder for a characteristic of this attribute.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#characteristics()"><code>characteristics()</code></a></dd>
</dl>
</li>
</ul>
<a id="addCharacteristic(org.apache.sis.feature.DefaultAttributeType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addCharacteristic</h4>
<pre class="methodSignature">public&nbsp;&lt;C&gt;&nbsp;<a href="CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a>&lt;C&gt;&nbsp;addCharacteristic&#8203;(<a href="../DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a>&lt;C&gt;&nbsp;template)</pre>
<div class="block">Adds another attribute type that describes this attribute type, using an existing one as a template.
See <cite>"Attribute characterization"</cite> in <a href="../DefaultAttributeType.html" title="class in org.apache.sis.feature"><code>Default­Attribute­Type</code></a> Javadoc for more information.
<div class="warning"><b>Warning:</b>
The <code>template</code> argument type will be changed to <code>Attribute­Type</code> if and when such interface
will be defined in GeoAPI.</div></div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>C</code> - the compile-time type of values in the <code>template</code> argument.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>template</code> - an existing attribute type to use as a template.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a builder for a characteristic of this attribute, initialized with the values of the given template.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#characteristics()"><code>characteristics()</code></a></dd>
</dl>
</li>
</ul>
<a id="characteristics()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>characteristics</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a>&lt;?&gt;&gt;&nbsp;characteristics()</pre>
<div class="block">Returns a view of all characteristics added to the <code>Attribute­Type</code> to build.
The returned list is <cite>live</cite>: changes in this builder are reflected in that list and conversely.
However the returned list allows only <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#remove(java.lang.Object)" title="class or interface in java.util" class="externalLink">remove</a> operations;
new characteristics can be added only by calls to one of the <code>set/add­Characteristic(…)</code> methods.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a live list over the characteristics declared to this builder.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getCharacteristic(java.lang.String)"><code>get­Characteristic(String)</code></a>,
<a href="#addCharacteristic(java.lang.Class)"><code>add­Characteristic(Class)</code></a>,
<a href="#addCharacteristic(org.apache.sis.feature.DefaultAttributeType)"><code>add­Characteristic(Default­Attribute­Type)</code></a>,
<a href="#setValidValues(V...)"><code>set­Valid­Values(Object...)</code></a>,
<a href="#setCRS(org.opengis.referencing.crs.CoordinateReferenceSystem)"><code>set­CRS(Coordinate­Reference­System)</code></a></dd>
</dl>
</li>
</ul>
<a id="roles()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>roles</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="AttributeRole.html" title="enum in org.apache.sis.feature.builder">AttributeRole</a>&gt;&nbsp;roles()</pre>
<div class="block">Returns the roles that the attribute play in the pre-defined operations managed by <code>Attribute­Type­Builder</code>.
The set returned by this method is <cite>live</cite>: additions or removal on that set are reflected back on
this builder, and conversely.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the roles that the attribute play in the pre-defined operations managed by <code>Attribute­Type­Builder</code>.</dd>
</dl>
</li>
</ul>
<a id="addRole(org.apache.sis.feature.builder.AttributeRole)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRole</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;addRole&#8203;(<a href="AttributeRole.html" title="enum in org.apache.sis.feature.builder">AttributeRole</a>&nbsp;role)</pre>
<div class="block">Flags this attribute as an input of one of the pre-defined operations managed by <code>Attribute­Type­Builder</code>.
Invoking this method is equivalent to invoking <code><a href="#roles()">roles()</a>.add(role)</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>role</code> - the role to add to the attribute (shall not be null).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the given role has been added to the attribute.</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="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&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="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="PropertyTypeBuilder.html#setDefinition(java.lang.CharSequence)">set­Definition</a></code>&nbsp;in class&nbsp;<code><a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">Property­Type­Builder</a></code></dd>
<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="TypeBuilder.html#getDefinition()"><code>Type­Builder​.get­Definition()</code></a>,
<a href="../AbstractIdentifiedType.html#DEFINITION_KEY"><code>Abstract­Identified­Type​.DEFINITION_KEY</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="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&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="TypeBuilder.html#getName()">name</a> in user interfaces.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="PropertyTypeBuilder.html#setDesignation(java.lang.CharSequence)">set­Designation</a></code>&nbsp;in class&nbsp;<code><a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">Property­Type­Builder</a></code></dd>
<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="TypeBuilder.html#getDesignation()"><code>Type­Builder​.get­Designation()</code></a>,
<a href="../AbstractIdentifiedType.html#DESIGNATION_KEY"><code>Abstract­Identified­Type​.DESIGNATION_KEY</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="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&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="TypeBuilder.html#isDeprecated()">is deprecated</a>, then the description should
give indication about the replacement (e.g. <cite>"superceded by …"</cite>).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="PropertyTypeBuilder.html#setDescription(java.lang.CharSequence)">set­Description</a></code>&nbsp;in class&nbsp;<code><a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">Property­Type­Builder</a></code></dd>
<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="TypeBuilder.html#getDescription()"><code>Type­Builder​.get­Description()</code></a>,
<a href="../AbstractIdentifiedType.html#DESCRIPTION_KEY"><code>Abstract­Identified­Type​.DESCRIPTION_KEY</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="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&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="TypeBuilder.html#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="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="PropertyTypeBuilder.html#setDeprecated(boolean)">set­Deprecated</a></code>&nbsp;in class&nbsp;<code><a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">Property­Type­Builder</a></code></dd>
<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="TypeBuilder.html#isDeprecated()"><code>Type­Builder​.is­Deprecated()</code></a>,
<a href="../AbstractIdentifiedType.html#DEPRECATED_KEY"><code>Abstract­Identified­Type​.DEPRECATED_KEY</code></a></dd>
</dl>
</li>
</ul>
<a id="remove()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;remove()</pre>
<div class="block">Removes this property from the <code>Feature­Type­Builder</code>.
After this method has been invoked, this <code>Property­Type­Builder</code> instance
is no longer in the list returned by <a href="FeatureTypeBuilder.html#properties()"><code>Feature­Type­Builder​.properties()</code></a>
and attempts to invoke any setter method on <code>this</code> will cause an
<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"><code>Illegal­State­Exception</code></a> to be thrown.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="PropertyTypeBuilder.html#remove()">remove</a></code>&nbsp;in class&nbsp;<code><a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">Property­Type­Builder</a></code></dd>
</dl>
</li>
</ul>
<a id="build()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>build</h4>
<pre class="methodSignature">public&nbsp;<a href="../DefaultAttributeType.html" title="class in org.apache.sis.feature">DefaultAttributeType</a>&lt;<a href="AttributeTypeBuilder.html" title="type parameter in AttributeTypeBuilder">V</a>&gt;&nbsp;build()</pre>
<div class="block">Builds the attribute 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>Attribute­Type</code> instance is returned.
<div class="note"><b>Example:</b>
the following lines of code add a "name" attribute to a "City" feature, then get the corresponding
<code>Attribute­Type&lt;String&gt;</code> instance. If no setter method is invoked on the builder of the "name"
attribute after those lines, then the <code>name</code> variable below will reference the same instance
than the "name" attribute in the <code>city</code> type.
<blockquote><pre>FeatureTypeBuilder builder = <font color="green">new</font> <b>FeatureTypeBuilder</b>().<b>setName</b>(<font color="orangered">"City"</font>);
AttributeType&lt;String&gt; name = builder.<b>addAttribute</b>(String.<font color="green">class</font>).<b>setName</b>(<font color="orangered">"name"</font>).<b>build</b>();
FeatureType city = builder.<b>build</b>();
<font color="green">assert</font> city.<b>getProperty</b>(<font color="orangered">"name"</font>) == name : <font color="orangered">"AttributeType instance should be the same."</font>;</pre></blockquote>
Note that <code>city​.get­Property("name")</code> returns <code>Attribute­Type&lt;?&gt;</code>,
i.e. the <a href="#getValueClass()">value class</a> is lost at compile-time.
By comparison, this <code>build()</code> method has a more accurate return type.
</div>
<div class="warning"><b>Warning:</b> In a future SIS version, the return type may be changed to the
<code>org​.opengis​.feature​.Attribute­Type</code> interface. This change is pending GeoAPI revision.</div></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="PropertyTypeBuilder.html#build()">build</a></code>&nbsp;in class&nbsp;<code><a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">Property­Type­Builder</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the attribute type.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AttributeTypeBuilder.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>