blob: 164e1b16b37977c5a66992407a019c20cdaba754 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (19) -->
<title>org.apache.sis.feature.builder (Apache SIS 1.3 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.sis.feature.builder">
<meta name="generator" content="javadoc/PackageWriterImpl">
<meta name="keywords" content="org.apache.sis.feature.builder package">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../sis.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="package-declaration-page">
<script type="text/javascript">var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li class="nav-bar-cell1-rev">Package</li>
<li>Class</li>
<li><a href="package-use.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#package">Help</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Package:</p>
<ul>
<li><a href="#package-description">Description</a></li>
<li><a href="#related-package-summary">Related Packages</a></li>
<li><a href="#class-summary">Classes and Interfaces</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Package:&nbsp;</li>
<li><a href="#package-description">Description</a>&nbsp;|&nbsp;</li>
<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
<li><a href="#class-summary">Classes and Interfaces</a></li>
</ul>
</div>
<div class="nav-list-search"><a href="../../../../../search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Search">
<input type="reset" id="reset-button" disabled value="reset">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="Package org.apache.sis.feature.builder" class="title">Package org.apache.sis.feature.builder</h1>
</div>
<hr>
<div class="package-signature">package <span class="element-name">org.apache.sis.feature.builder</span></div>
<section class="package-description" id="package-description">
<div class="block">Helper classes for creating <code>Feature­Type</code> instances. Usage of this package is not mandatory,
but make easier to create <a href="../DefaultFeatureType.html" title="class in org.apache.sis.feature"><code>Default­Feature­Type</code></a> instances together with
their attributes and associations.
<p>The starting point is <a href="FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder"><code>Feature­Type­Builder</code></a>.
The following example creates a feature type for a capital, as a special kind of city,
named "Utopia" by default:</p>
<blockquote><pre>FeatureTypeBuilder builder;
<i><font color="gray">// Create a feature type for a city, which contains a name and a population.</font></i>
builder = <font color="green">new</font> <b>FeatureTypeBuilder</b>() .<b>setName</b>(<font color="orangered">"City"</font>);
builder.<b>addAttribute</b>(String.<font color="green">class</font>) .<b>setName</b>(<font color="orangered">"name"</font>).<b>setDefaultValue</b>(<font color="orangered">"Utopia"</font>);
builder.<b>addAttribute</b>(Integer.<font color="green">class</font>).<b>setName</b>(<font color="orangered">"population"</font>);
FeatureType city = builder.<b>build</b>();
<i><font color="gray">// Create a subclass for a city which is also a capital.</font></i>
builder = <font color="green">new</font> <b>FeatureTypeBuilder</b>().<b>setName</b>(<font color="orangered">"Capital"</font>).<b>setSuperTypes</b>(city);
builder.<b>addAttribute</b>(String.<font color="green">class</font>).<b>setName</b>(<font color="orangered">"parliament"</font>);
FeatureType capital = builder.<b>build</b>();</pre></blockquote>
A call to <code>System​.out​.println(capital)</code> prints the following table:
<blockquote><pre>Capital ⇾ City
┌────────────┬─────────┬──────────────┬───────────────┐
│ Name │ Type │ Multiplicity │ Default value │
├────────────┼─────────┼──────────────┼───────────────┤
│ name │ String │ [1 … 1] │ Utopia │
│ population │ Integer │ [1 … 1] │ │
│ parliament │ String │ [1 … 1] │ │
└────────────┴─────────┴──────────────┴───────────────┘</pre></blockquote></div>
<dl class="notes">
<dt>Since:</dt>
<dd>0.8</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../DefaultFeatureType.html" title="class in org.apache.sis.feature"><code>Default­Feature­Type</code></a></li>
</ul>
</dd>
<p><font size="-1">Defined in the <code>sis-feature</code> module</font></p>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="../package-summary.html">org.apache.sis.feature</a></div>
<div class="col-last even-row-color">
<div class="block">Defines the structure and content of views of real-world phenomenon.</div>
</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button><button id="class-summary-tab3" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab3', 2)" class="table-tab">Enum Classes</button></div>
<div id="class-summary.tabpanel" role="tabpanel">
<div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="AssociationRoleBuilder.html" title="class in org.apache.sis.feature.builder">AssociationRoleBuilder</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Describes one association from the <code>Feature­Type</code> to be built by an <code>Feature­Type­Builder</code> to another
<code>Feature­Type</code>.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab3"><a href="AttributeRole.html" title="enum class in org.apache.sis.feature.builder">AttributeRole</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab3">
<div class="block">Roles that can be associated to some attributes for instructing <code>Feature­Type­Builder</code>
how to generate predefined operations.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="AttributeTypeBuilder.html" title="class in org.apache.sis.feature.builder">AttributeTypeBuilder</a>&lt;V&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<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>.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="CharacteristicTypeBuilder.html" title="class in org.apache.sis.feature.builder">CharacteristicTypeBuilder</a>&lt;V&gt;</div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Describes one characteristic of the <code>Attribute­Type</code> will will be built by a <code>Feature­Type­Builder</code>.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="FeatureTypeBuilder.html" title="class in org.apache.sis.feature.builder">FeatureTypeBuilder</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Helper class for the creation of <code>Feature­Type</code> instances.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="PropertyTypeBuilder.html" title="class in org.apache.sis.feature.builder">PropertyTypeBuilder</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Describes one property of the <code>Feature­Type</code> to be built by an <code>Feature­Type­Builder</code>.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="TypeBuilder.html" title="class in org.apache.sis.feature.builder">TypeBuilder</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Information common to all kind of types (feature, association, characteristics).</div>
</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2010&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>