blob: 84bde091e3ca4aff0da7cc80b3f815c00a9141d2 [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>ParameterBuilder (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.parameter.ParameterBuilder class">
<meta name="keywords" content="setRequired()">
<meta name="keywords" content="create()">
<meta name="keywords" content="createStrictlyPositive()">
<meta name="keywords" content="createBounded()">
<meta name="keywords" content="createEnumerated()">
<meta name="keywords" content="createGroup()">
<meta name="keywords" content="createGroupWithSameParameters()">
<meta name="keywords" content="createGroupForMapProjection()">
<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="ParameterBuilder (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};
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/ParameterBuilder.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><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.parameter</a></div>
<h2 title="Class ParameterBuilder" class="title">Class ParameterBuilder</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="../referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a>&lt;<a href="ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a>&gt;</li>
<li>
<ul class="inheritance">
<li>ParameterBuilder</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">ParameterBuilder</span>
extends <a href="../referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a>&lt;<a href="ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a>&gt;</pre>
<div class="block">Helper class for <a href="DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">parameter descriptor</a> instantiations.
This builder can be helpful to operation or process <em>providers</em> (e.g. map projection
implementers). Operation <em>users</em> do not need this builder since they can invoke
<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true#createValue()" title="class or interface in org.opengis.parameter" class="externalLink"><code>Parameter­Descriptor​.create­Value()</code></a> on the descriptor provided by the implementer.
<div class="section">Identification properties</div>
The following properties are cleared after a call to any <code>create­XXX(…)</code> method,
since those properties are specific to the each parameter. Other properties like codespace,
version and multiplicity are left unchanged because they may be shared by many parameters.
<ul class="verbose">
<li><b><a href="../referencing/AbstractIdentifiedObject.html#getName()">Names</a>:</b>
each parameter must have a name, which can be specified by any of the <a href="../referencing/Builder.html#addName(java.lang.CharSequence)"><code>add­Name(…)</code></a> methods. Parameters can optionally have an arbitrary amount of aliases, which are also specified
by the <code>add­Name(…)</code> methods. Each call after the first one adds an alias.</li>
<li><b><a href="../referencing/AbstractIdentifiedObject.html#getIdentifiers()">Identifiers</a>:</b>
parameters can also have an arbitrary amount of identifiers, which are specified by any of the
<a href="../referencing/Builder.html#addIdentifier(java.lang.String)"><code>add­Identifier(…)</code></a> methods. Like names, more than one identifier can be
added by invoking the method many time.</li>
<li><b><a href="../referencing/AbstractIdentifiedObject.html#getRemarks()">Remarks</a>:</b>
parameters can have at most one remark, which is specified by the <code>set­Remarks(…)</code> method.</li>
</ul>
<div class="section">Usage example</div>
Parameter descriptors are typically grouped in a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptorGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink"><code>Parameter­Descriptor­Group</code></a>.
All parameters usually have the same namespace, which can be declared only once.
The following example creates parameters for <cite>"Mercator (variant A)"</cite>
projection method (EPSG:9804), previously known as <cite>"Mercator (1SP)"</cite>,
centered by default on (0°,0°) with no scale factor and no false easting/northing.
The projection is valid from 80°S to 84°N and on all the longitude range (±180°).
In this example, the <cite>"Longitude of natural origin"</cite> parameter is giving different aliases
for illustrating the case of different software libraries or standards using different conventions.
<blockquote><pre>ParameterBuilder builder = <font color="green">new</font> <b>ParameterBuilder</b>();
builder.<b>setCodeSpace</b>(Citations.EPSG, <font color="orangered">"EPSG"</font>) <i><font color="gray">// The default namespace to be used below.</font></i>
.<b>setRequired</b>(<font color="green">true</font>); <i><font color="gray">// All parameters will be considered mandatory.</font></i>
<i><font color="gray">// Constructs the list of parameters.</font></i>
ParameterDescriptor&lt;?&gt;[] parameters = {
builder.<b>addName</b>(<font color="orangered">"Latitude of natural origin"</font>) <i><font color="gray">// Name in the default namespace ("EPSG" in this example).</font></i>
.<b>createBounded</b>( -80, +84, 0, Units.DEGREE), <i><font color="gray">// Latitude of Mercator projection can not go to the poles.</font></i>
builder.<b>addIdentifier</b>(<font color="orangered">"8802"</font>) <i><font color="gray">// Primary key in default namespace ("EPSG" in this example).</font></i>
.<b>addName</b>(<font color="orangered">"Longitude of natural origin"</font>) <i><font color="gray">// Primary name in default namespace ("EPSG" in this example).</font></i>
.<b>addName</b>(Citations.OGC, <font color="orangered">"central_meridian"</font>) <i><font color="gray">// First alias in "OGC" namespace.</font></i>
.<b>addName</b>(Citations.GEOTIFF, <font color="orangered">"NatOriginLong"</font>) <i><font color="gray">// Second alias in "GeoTIFF" namespace.</font></i>
.<b>createBounded</b>(-180, +180, 0, Units.DEGREE), <i><font color="gray">// Projection is valid on all the longitude range (±180°).</font></i>
builder.<b>addName</b>(<font color="orangered">"Scale factor at natural origin"</font>)
.<b>createStrictlyPositive</b>(1, Units.UNITY),
builder.<b>addName</b>(<font color="orangered">"False easting"</font>)
.<b>create</b>(0, Units.METRE),
builder.<b>addName</b>(<font color="orangered">"False northing"</font>)
.<b>create</b>(0, Units.METRE)
};
<i><font color="gray">// Put all above parameters in a group.</font></i>
ParameterDescriptorGroup group = builder
.<b>addIdentifier</b>(<font color="orangered">"9804"</font>) <i><font color="gray">// Defined in implicit "EPSG" namespace.</font></i>
.<b>addName</b> (<font color="orangered">"Mercator (variant A)"</font>) <i><font color="gray">// Defined in implicit "EPSG" namespace.</font></i>
.<b>addName</b> (<font color="orangered">"Mercator (1SP)"</font>) <i><font color="gray">// Defined in implicit "EPSG" namespace.</font></i>
.<b>addName</b> (Citations.OGC, <font color="orangered">"Mercator_1SP"</font>) <i><font color="gray">// "OGC" namespace explicitly shown by toString().</font></i>
.<b>addName</b> (Citations.GEOTIFF, <font color="orangered">"CT_Mercator"</font>) <i><font color="gray">// "GeoTIFF" namespace explicitly shown by toString().</font></i>
.<b>addIdentifier</b>(Citations.GEOTIFF, <font color="orangered">"7"</font>)
.<b>setRemarks</b> (<font color="orangered">"The “Mercator (1SP)” method name was used prior to October 2010."</font>)
.<b>createGroupForMapProjection</b>(parameters);</pre></blockquote></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.4</dd>
<p><font size="-1">Defined in the <code>sis-referencing</code> module</font></p>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.Builder">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;<a href="../referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></h3>
<code><a href="../referencing/Builder.html#properties">properties</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">ParameterBuilder</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a new builder.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.opengis.parameter.GeneralParameterDescriptor)">ParameterBuilder</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/GeneralParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">GeneralParameterDescriptor</a>&nbsp;descriptor)</code></th>
<td class="colLast">
<div class="block">Creates a new builder initialized to properties of the given object.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="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><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(double,javax.measure.Unit)">create</a></span>&#8203;(double&nbsp;defaultValue,
<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;?&gt;&nbsp;unit)</code></th>
<td class="colLast">
<div class="block">Creates a descriptor for floating point values without domain restriction.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(java.lang.Class,T)">create</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;T&gt;&nbsp;valueClass,
T&nbsp;defaultValue)</code></th>
<td class="colLast">
<div class="block">Creates a descriptor for values of the given type without domain restriction.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createBounded(double,double,double,javax.measure.Unit)">createBounded</a></span>&#8203;(double&nbsp;minimumValue,
double&nbsp;maximumValue,
double&nbsp;defaultValue,
<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;?&gt;&nbsp;unit)</code></th>
<td class="colLast">
<div class="block">Creates a descriptor for floating point values restricted to the given domain.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;<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>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createBounded(int,int,int)">createBounded</a></span>&#8203;(int&nbsp;minimumValue,
int&nbsp;maximumValue,
int&nbsp;defaultValue)</code></th>
<td class="colLast">
<div class="block">Creates a descriptor for integer values restricted to the given domain.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>&lt;T extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super T&gt;&gt;<br><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createBounded(java.lang.Class,T,T,T)">createBounded</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;T&gt;&nbsp;valueClass,
T&nbsp;minimumValue,
T&nbsp;maximumValue,
T&nbsp;defaultValue)</code></th>
<td class="colLast">
<div class="block">Creates a descriptor for values of the given type restricted to the given domain.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>&lt;T extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super T&gt;&gt;<br><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createBounded(org.apache.sis.measure.Range,T)">createBounded</a></span>&#8203;(<a href="../measure/Range.html" title="class in org.apache.sis.measure">Range</a>&lt;T&gt;&nbsp;valueDomain,
T&nbsp;defaultValue)</code></th>
<td class="colLast">
<div class="block">Creates a descriptor for values in the domain represented by the given <code>Range</code> object.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createEnumerated(java.lang.Class,T%5B%5D,T)">createEnumerated</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;T&gt;&nbsp;valueClass,
T[]&nbsp;validValues,
T&nbsp;defaultValue)</code></th>
<td class="colLast">
<div class="block">Creates a descriptor for a parameter restricted to a set of valid values.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptorGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptorGroup</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createGroup(int,int,org.opengis.parameter.GeneralParameterDescriptor...)">createGroup</a></span>&#8203;(int&nbsp;minimumOccurs,
int&nbsp;maximumOccurs,
<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/GeneralParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">GeneralParameterDescriptor</a>...&nbsp;parameters)</code></th>
<td class="colLast">
<div class="block">Creates a descriptor group for the given multiplicity and parameters.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptorGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptorGroup</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createGroup(org.opengis.parameter.GeneralParameterDescriptor...)">createGroup</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/GeneralParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">GeneralParameterDescriptor</a>...&nbsp;parameters)</code></th>
<td class="colLast">
<div class="block">Creates a descriptor group for the given parameters.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptorGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptorGroup</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createGroupForMapProjection(org.opengis.parameter.ParameterDescriptor...)">createGroupForMapProjection</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;?&gt;...&nbsp;parameters)</code></th>
<td class="colLast">
<div class="block">Creates a descriptor group for a map projection.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptorGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptorGroup</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createGroupWithSameParameters(org.opengis.parameter.ParameterDescriptorGroup)">createGroupWithSameParameters</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptorGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptorGroup</a>&nbsp;parameters)</code></th>
<td class="colLast">
<div class="block">Creates a descriptor group with the same parameters than another group.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createStrictlyPositive(double,javax.measure.Unit)">createStrictlyPositive</a></span>&#8203;(double&nbsp;defaultValue,
<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;?&gt;&nbsp;unit)</code></th>
<td class="colLast">
<div class="block">Creates a descriptor for floating point values greater than zero.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRequired(boolean)">setRequired</a></span>&#8203;(boolean&nbsp;required)</code></th>
<td class="colLast">
<div class="block">Sets whether the parameter is mandatory or optional.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.Builder">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;<a href="../referencing/Builder.html" title="class in org.apache.sis.referencing">Builder</a></h3>
<code><a href="../referencing/Builder.html#addIdentifier(java.lang.String)">add­Identifier</a>, <a href="../referencing/Builder.html#addIdentifier(org.opengis.metadata.citation.Citation,java.lang.String)">add­Identifier</a>, <a href="../referencing/Builder.html#addIdentifier(org.opengis.referencing.ReferenceIdentifier)">add­Identifier</a>, <a href="../referencing/Builder.html#addName(java.lang.CharSequence)">add­Name</a>, <a href="../referencing/Builder.html#addName(org.opengis.metadata.citation.Citation,java.lang.CharSequence)">add­Name</a>, <a href="../referencing/Builder.html#addName(org.opengis.referencing.ReferenceIdentifier)">add­Name</a>, <a href="../referencing/Builder.html#addName(org.opengis.util.GenericName)">add­Name</a>, <a href="../referencing/Builder.html#addNamesAndIdentifiers(org.opengis.referencing.IdentifiedObject)">add­Names­And­Identifiers</a>, <a href="../referencing/Builder.html#onCreate(boolean)">on­Create</a>, <a href="../referencing/Builder.html#reidentify(org.opengis.metadata.citation.Citation,java.lang.String...)">reidentify</a>, <a href="../referencing/Builder.html#rename(org.opengis.metadata.citation.Citation,java.lang.CharSequence...)">rename</a>, <a href="../referencing/Builder.html#setCodeSpace(org.opengis.metadata.citation.Citation,java.lang.String)">set­Code­Space</a>, <a href="../referencing/Builder.html#setDeprecated(boolean)">set­Deprecated</a>, <a href="../referencing/Builder.html#setDescription(java.lang.CharSequence)">set­Description</a>, <a href="../referencing/Builder.html#setRemarks(java.lang.CharSequence)">set­Remarks</a>, <a href="../referencing/Builder.html#setVersion(java.lang.String)">set­Version</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#toString()" title="class or interface in java.lang" class="externalLink">to­String</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ParameterBuilder</h4>
<pre>public&nbsp;ParameterBuilder()</pre>
<div class="block">Creates a new builder.</div>
</li>
</ul>
<a id="&lt;init&gt;(org.opengis.parameter.GeneralParameterDescriptor)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ParameterBuilder</h4>
<pre>public&nbsp;ParameterBuilder&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/GeneralParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">GeneralParameterDescriptor</a>&nbsp;descriptor)</pre>
<div class="block">Creates a new builder initialized to properties of the given object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>descriptor</code> - the descriptor from which to inherit properties, or <code>null</code>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.6</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="setRequired(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRequired</h4>
<pre class="methodSignature">public&nbsp;<a href="ParameterBuilder.html" title="class in org.apache.sis.parameter">ParameterBuilder</a>&nbsp;setRequired&#8203;(boolean&nbsp;required)</pre>
<div class="block">Sets whether the parameter is mandatory or optional.
This property determines the <a href="AbstractParameterDescriptor.html#getMinimumOccurs()">minimum number
of times</a> that values are required, which will be 0 for an optional parameter and 1 for a mandatory one.
<p><b>Default value:</b>
If this method is never invoked, then the default value is <code>false</code>.</p>
<p><b>Lifetime:</b>
this property is kept unchanged until this <code>set­Required(…)</code> method is invoked again.</p>
<div class="note"><b>API note:</b> the <a href="AbstractParameterDescriptor.html#getMaximumOccurs()"><code>maximum number of occurrences</code></a> is fixed to 1 and can not be changed with this builder
(except for <a href="#createGroup(int,int,org.opengis.parameter.GeneralParameterDescriptor...)">parameters group</a>)
because <a href="DefaultParameterValueGroup.html#parameter(java.lang.String)"><code>Default­Parameter­Value­Group​.parameter(String)</code></a> can return only one value.
Allowing to return more than one value would complicate the API for an uncommon case.
If nevertheless a maximum number of occurrences greater than 1 is really desired, Apache SIS supports
this feature but users have to create the <a href="DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter"><code>Default­Parameter­Descriptor</code></a> instance themselves.</div></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>required</code> - <code>true</code> for a mandatory parameter, or <code>false</code> for an optional one.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code>, for method call chaining.</dd>
</dl>
</li>
</ul>
<a id="create(java.lang.Class,java.lang.Object)">
<!-- -->
</a><a id="create(java.lang.Class,T)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre class="methodSignature">public&nbsp;&lt;T&gt;&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;T&gt;&nbsp;create&#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;T&gt;&nbsp;valueClass,
T&nbsp;defaultValue)</pre>
<div class="block">Creates a descriptor for values of the given type without domain restriction.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the compile-time type of the <code>value­Class</code> argument.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value­Class</code> - the class that describe the type of the parameter values.</dd>
<dd><code>default­Value</code> - the default value for the parameter, or <code>null</code> if none.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parameter descriptor for the given default value and unit.</dd>
</dl>
</li>
</ul>
<a id="create(double,javax.measure.Unit)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a>&gt;&nbsp;create&#8203;(double&nbsp;defaultValue,
<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;?&gt;&nbsp;unit)</pre>
<div class="block">Creates a descriptor for floating point values without domain restriction.
All <code>double</code> values are considered valid.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>default­Value</code> - the default value for the parameter, or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>Double​.Na­N</code></a> if none.</dd>
<dd><code>unit</code> - the default unit, or <code>null</code> if none.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parameter descriptor for the given default value and unit.</dd>
</dl>
</li>
</ul>
<a id="createStrictlyPositive(double,javax.measure.Unit)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createStrictlyPositive</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a>&gt;&nbsp;createStrictlyPositive&#8203;(double&nbsp;defaultValue,
<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;?&gt;&nbsp;unit)</pre>
<div class="block">Creates a descriptor for floating point values greater than zero.
The zero value is not considered valid. There is no maximal value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>default­Value</code> - the default value for the parameter, or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>Double​.Na­N</code></a> if none.</dd>
<dd><code>unit</code> - the default unit, or <code>null</code> if none.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parameter descriptor for the given default value and unit.</dd>
</dl>
</li>
</ul>
<a id="createBounded(double,double,double,javax.measure.Unit)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createBounded</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang" class="externalLink">Double</a>&gt;&nbsp;createBounded&#8203;(double&nbsp;minimumValue,
double&nbsp;maximumValue,
double&nbsp;defaultValue,
<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html?is-external=true" title="class or interface in javax.measure" class="externalLink">Unit</a>&lt;?&gt;&nbsp;unit)</pre>
<div class="block">Creates a descriptor for floating point values restricted to the given domain.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>minimum­Value</code> - the minimum parameter value (inclusive), or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NEGATIVE_INFINITY" title="class or interface in java.lang" class="externalLink"><code>Double​.NEGATIVE_INFINITY</code></a> if none.</dd>
<dd><code>maximum­Value</code> - the maximum parameter value (inclusive), or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#POSITIVE_INFINITY" title="class or interface in java.lang" class="externalLink"><code>Double​.POSITIVE_INFINITY</code></a> if none.</dd>
<dd><code>default­Value</code> - the default value for the parameter, or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>Double​.Na­N</code></a> if none.</dd>
<dd><code>unit</code> - the unit for default, minimum and maximum values, or <code>null</code> if none.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parameter descriptor for the given domain of values.</dd>
</dl>
</li>
</ul>
<a id="createBounded(int,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createBounded</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;<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>&gt;&nbsp;createBounded&#8203;(int&nbsp;minimumValue,
int&nbsp;maximumValue,
int&nbsp;defaultValue)</pre>
<div class="block">Creates a descriptor for integer values restricted to the given domain.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>minimum­Value</code> - the minimum parameter value (inclusive).</dd>
<dd><code>maximum­Value</code> - the maximum parameter value (inclusive).</dd>
<dd><code>default­Value</code> - the default value for the parameter.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parameter descriptor for the given domain of values.</dd>
</dl>
</li>
</ul>
<a id="createBounded(java.lang.Class,java.lang.Comparable,java.lang.Comparable,java.lang.Comparable)">
<!-- -->
</a><a id="createBounded(java.lang.Class,T,T,T)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createBounded</h4>
<pre class="methodSignature">public&nbsp;&lt;T extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super T&gt;&gt;&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;T&gt;&nbsp;createBounded&#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;T&gt;&nbsp;valueClass,
T&nbsp;minimumValue,
T&nbsp;maximumValue,
T&nbsp;defaultValue)</pre>
<div class="block">Creates a descriptor for values of the given type restricted to the given domain.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the compile-time type of the <code>value­Class</code> argument.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value­Class</code> - the class that describe the type of the parameter values.</dd>
<dd><code>minimum­Value</code> - the minimum parameter value (inclusive), or <code>null</code> if none.</dd>
<dd><code>maximum­Value</code> - the maximum parameter value (inclusive), or <code>null</code> if none.</dd>
<dd><code>default­Value</code> - the default value for the parameter, or <code>null</code> if none.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parameter descriptor for the given domain of values.</dd>
</dl>
</li>
</ul>
<a id="createBounded(org.apache.sis.measure.Range,java.lang.Comparable)">
<!-- -->
</a><a id="createBounded(org.apache.sis.measure.Range,T)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createBounded</h4>
<pre class="methodSignature">public&nbsp;&lt;T extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super T&gt;&gt;&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;T&gt;&nbsp;createBounded&#8203;(<a href="../measure/Range.html" title="class in org.apache.sis.measure">Range</a>&lt;T&gt;&nbsp;valueDomain,
T&nbsp;defaultValue)</pre>
<div class="block">Creates a descriptor for values in the domain represented by the given <code>Range</code> object.
This method allows to specify whether the minimum and maximum values are inclusive or not.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the type of the parameter values.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value­Domain</code> - the minimum value, maximum value and unit of measurement.</dd>
<dd><code>default­Value</code> - the default value for the parameter, or <code>null</code> if none.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parameter descriptor for the given domain of values.</dd>
</dl>
</li>
</ul>
<a id="createEnumerated(java.lang.Class,java.lang.Object[],java.lang.Object)">
<!-- -->
</a><a id="createEnumerated(java.lang.Class,T[],T)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createEnumerated</h4>
<pre class="methodSignature">public&nbsp;&lt;T&gt;&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;T&gt;&nbsp;createEnumerated&#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;T&gt;&nbsp;valueClass,
T[]&nbsp;validValues,
T&nbsp;defaultValue)</pre>
<div class="block">Creates a descriptor for a parameter restricted to a set of valid values.
The descriptor has no minimal or maximal value and no unit.
<p>The <code>valid­Values</code> property is mostly for restricting values to
a <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/CodeList.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">code list</a> or <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang" class="externalLink">enumeration</a> subset.
It is not necessary to provide this property when all values from the code list or enumeration are valid.</p></div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the compile-time type of the <code>value­Class</code> argument.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value­Class</code> - the class that describe the type of the parameter values.</dd>
<dd><code>valid­Values</code> - a finite set of valid values (usually from a code list or enumeration)
or <code>null</code> if it doesn't apply.</dd>
<dd><code>default­Value</code> - the default value for the parameter, or <code>null</code> if none.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parameter descriptor for the given set of valid values.</dd>
</dl>
</li>
</ul>
<a id="createGroup(int,int,org.opengis.parameter.GeneralParameterDescriptor...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createGroup</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptorGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptorGroup</a>&nbsp;createGroup&#8203;(int&nbsp;minimumOccurs,
int&nbsp;maximumOccurs,
<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/GeneralParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">GeneralParameterDescriptor</a>...&nbsp;parameters)</pre>
<div class="block">Creates a descriptor group for the given multiplicity and parameters.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>minimum­Occurs</code> - the <a href="AbstractParameterDescriptor.html#getMinimumOccurs()">minimum</a>
number of times that values for this parameter group are required.</dd>
<dd><code>maximum­Occurs</code> - the <a href="AbstractParameterDescriptor.html#getMaximumOccurs()">maximum</a>
number of times that values for this parameter group are required.</dd>
<dd><code>parameters</code> - the <a href="DefaultParameterDescriptorGroup.html#descriptors()">parameter descriptors</a>
for the group to create.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parameter descriptor group.</dd>
</dl>
</li>
</ul>
<a id="createGroup(org.opengis.parameter.GeneralParameterDescriptor...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createGroup</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptorGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptorGroup</a>&nbsp;createGroup&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/GeneralParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">GeneralParameterDescriptor</a>...&nbsp;parameters)</pre>
<div class="block">Creates a descriptor group for the given parameters. This is a convenience method for
<a href="#createGroup(int,int,org.opengis.parameter.GeneralParameterDescriptor...)"><code>create­Group(int, int, General­Parameter­Descriptor[])</code></a> with a multiplicity of [0 … 1]
or [1 … 1] depending on the value given to the last call to <a href="#setRequired(boolean)"><code>set­Required(boolean)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parameters</code> - the <a href="DefaultParameterDescriptorGroup.html#descriptors()">parameter descriptors</a>
for the group to create.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parameter descriptor group.</dd>
</dl>
</li>
</ul>
<a id="createGroupWithSameParameters(org.opengis.parameter.ParameterDescriptorGroup)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createGroupWithSameParameters</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptorGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptorGroup</a>&nbsp;createGroupWithSameParameters&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptorGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptorGroup</a>&nbsp;parameters)</pre>
<div class="block">Creates a descriptor group with the same parameters than another group. This is a convenience constructor
for operations that expect the same parameters than another operation, but perform a different process.
<div class="note"><b>Example:</b>
the various <cite>"Coordinate Frame Rotation"</cite> variants (EPSG codes 1032, 1038 and 9607)
expect the same parameters than their <cite>"Position Vector transformation"</cite> counterpart
(EPSG codes 1033, 1037 and 9606) but perform the rotation in the opposite direction.</div></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parameters</code> - the existing group from which to copy the parameters.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parameter descriptor group.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.7</dd>
</dl>
</li>
</ul>
<a id="createGroupForMapProjection(org.opengis.parameter.ParameterDescriptor...)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>createGroupForMapProjection</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptorGroup.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptorGroup</a>&nbsp;createGroupForMapProjection&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/parameter/ParameterDescriptor.html?is-external=true" title="class or interface in org.opengis.parameter" class="externalLink">ParameterDescriptor</a>&lt;?&gt;...&nbsp;parameters)</pre>
<div class="block">Creates a descriptor group for a map projection. This method automatically adds mandatory parameters
for the <cite>semi-major</cite> and <cite>semi-minor axis length</cite>. Those parameters are usually
not explicitly included in parameter definitions since the axis lengths can be inferred from the
<a href="../referencing/datum/DefaultEllipsoid.html" title="class in org.apache.sis.referencing.datum">ellipsoid</a>.
However <a href="../referencing/operation/transform/DefaultMathTransformFactory.html" title="class in org.apache.sis.referencing.operation.transform"><code>Default­Math­Transform­Factory</code></a> needs them.
<p>In addition, this method adds hidden parameters for alternative ways to express some standard parameters.
Those hidden parameters never appear in the <a href="DefaultParameterDescriptorGroup.html#descriptors()">list
of parameters</a>. However when one of those parameters is read or written, the work will be delegated to the
standard parameters.</p>
<table class="sis">
<caption>Parameters automatically added by this method</caption>
<tr><th>Name</th> <th>Visibility</th> <th>Comment</th></tr>
<tr><td><code>"semi_major"</code></td> <td>Always</td> <td>Standard parameter defined by WKT 1.</td></tr>
<tr><td><code>"semi_minor"</code></td> <td>Always</td> <td>Standard parameter defined by WKT 1.</td></tr>
<tr><td><code>"earth_radius"</code></td> <td>Hidden</td> <td>Mapped to <code>"semi_major"</code> and <code>"semi_minor"</code> parameters.</td></tr>
<tr><td><code>"inverse_flattening"</code></td> <td>Hidden</td> <td>Computed from the <code>"semi_major"</code> and <code>"semi_minor"</code> parameters.</td></tr>
<tr><td><code>"standard_parallel"</code></td> <td>Hidden</td>
<td>Array of 1 or 2 elements mapped to <code>"standard_parallel_1"</code> and <code>"standard_parallel_2"</code>.</td></tr>
</table>
<div class="note"><b>Note:</b>
When the <code>"earth_radius"</code> parameter is read, its value is the
<a href="../referencing/datum/DefaultEllipsoid.html#getAuthalicRadius()">authalic radius</a>
computed from the semi-major and semi-minor axis lengths.</div>
Map projection parameter groups always have a <a href="AbstractParameterDescriptor.html#getMinimumOccurs()">minimum</a> and <a href="AbstractParameterDescriptor.html#getMaximumOccurs()">maximum occurrence</a> of 1,
regardless the value given to <a href="#setRequired(boolean)"><code>set­Required(boolean)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parameters</code> - the <a href="DefaultParameterDescriptorGroup.html#descriptors()">parameter descriptors</a>
for the group to create.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parameter descriptor group for a map projection.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.6</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/ParameterBuilder.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><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2010&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>