blob: 3a0c50b677f7cbe6eca414eeec0933f1fcc4c4d2 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (21) on Thu Oct 05 19:54:57 CEST 2023 -->
<title>DefaultParameterValue (Apache SIS 1.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2023-10-05">
<meta name="description" content="declaration: module: org.apache.sis.referencing, package: org.apache.sis.parameter, class: DefaultParameterValue">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="org.apache.sis.parameter.DefaultParameterValue class">
<meta name="keywords" content="value">
<meta name="keywords" content="unit">
<meta name="keywords" content="getDescriptor()">
<meta name="keywords" content="getUnit()">
<meta name="keywords" content="getValue()">
<meta name="keywords" content="booleanValue()">
<meta name="keywords" content="intValue()">
<meta name="keywords" content="intValueList()">
<meta name="keywords" content="doubleValue()">
<meta name="keywords" content="doubleValueList()">
<meta name="keywords" content="stringValue()">
<meta name="keywords" content="valueFile()">
<meta name="keywords" content="setValue()">
<meta name="keywords" content="validate()">
<meta name="keywords" content="equals()">
<meta name="keywords" content="hashCode()">
<meta name="keywords" content="clone()">
<meta name="keywords" content="unmodifiable()">
<meta name="keywords" content="formatTo()">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../sis.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Summary:</p>
<ul>
<li>Nested</li>
<li><a href="#field-summary">Field</a></li>
<li><a href="#constructor-summary">Constr</a></li>
<li><a href="#method-summary">Method</a></li>
</ul>
</li>
<li>
<p>Detail:</p>
<ul>
<li><a href="#field-detail">Field</a></li>
<li><a href="#constructor-detail">Constr</a></li>
<li><a href="#method-detail">Method</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><a href="../../../../../search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Search">
<input type="reset" id="reset-button" disabled value="reset">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../module-summary.html">org.apache.sis.referencing</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.parameter</a></div>
<h1 title="Class DefaultParameterValue" class="title">Class DefaultParameterValue&lt;T&gt;</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
<div class="inheritance"><a href="../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a>
<div class="inheritance">DefaultParameterValue&lt;T&gt;</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - the type of the value stored in this parameter.</dd>
</dl>
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Cloneable.html" title="class or interface in java.lang" class="external-link">Cloneable</a></code>, <code><a href="../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/GeneralParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">General­Parameter­Value</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;T&gt;</code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DefaultParameterValue&lt;T&gt;</span>
<span class="extends-implements">extends <a href="../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a>
implements <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">ParameterValue</a>&lt;T&gt;, <a href="../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util">LenientComparable</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Cloneable.html" title="class or interface in java.lang" class="external-link">Cloneable</a></span></div>
<div class="block">A single parameter value used by an operation method. <code>Parameter­Value</code> instances are elements in
a <a href="DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter">parameter value group</a>, in a way similar to <code>Map​.Entry</code>
instances in a <code>java​.util​.Map</code>.
<p>In the context of coordinate operations, most parameter values are numeric and can be obtained by the
<a href="#intValue()"><code>int­Value()</code></a> or <a href="#doubleValue()"><code>double­Value()</code></a> methods. But other types of parameter values are possible
and can be handled by the more generic <a href="#getValue()"><code>get­Value()</code></a> and <a href="#setValue(java.lang.Object)"><code>set­Value(Object)</code></a> methods.
All <code>xxx­Value()</code> methods in this class are convenience methods converting the value from <code>Object</code>
to some commonly used types. Those types are specified in ISO 19111 as an union of attributes, listed below with
the corresponding getter and setter methods:</p>
<table class="sis">
<caption>Mapping from ISO attributes to getters and setters</caption>
<tr><th>ISO attribute</th> <th>Java type</th> <th>Getter method</th> <th>Setter method</th></tr>
<tr><td></td> <td><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link"><code>Object</code></a></td> <td><a href="#getValue()"><code>getValue()</code></a></td> <td><a href="#setValue(java.lang.Object)"><code>setValue(Object)</code></a></td></tr>
<tr><td>stringValue</td> <td><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link"><code>String</code></a></td> <td><a href="#stringValue()"><code>stringValue()</code></a></td> <td><a href="#setValue(java.lang.Object)"><code>setValue(Object)</code></a></td></tr>
<tr><td>value</td> <td><code>double</code></td> <td><a href="#doubleValue()"><code>doubleValue()</code></a></td> <td><a href="#setValue(double)"><code>setValue(double)</code></a></td></tr>
<tr><td></td> <td><code>double</code></td> <td><a href="#doubleValue(javax.measure.Unit)"><code>doubleValue(Unit)</code></a></td> <td><a href="#setValue(double,javax.measure.Unit)"><code>setValue(double, Unit)</code></a></td></tr>
<tr><td>valueList</td> <td><code>double[]</code></td> <td><a href="#doubleValueList()"><code>doubleValueList()</code></a></td> <td><a href="#setValue(java.lang.Object)"><code>setValue(Object)</code></a></td></tr>
<tr><td></td> <td><code>double[]</code></td> <td><a href="#doubleValueList(javax.measure.Unit)"><code>doubleValueList(Unit)</code></a></td> <td><a href="#setValue(double%5B%5D,javax.measure.Unit)"><code>setValue(double[], Unit)</code></a></td></tr>
<tr><td>integerValue</td> <td><code>int</code></td> <td><a href="#intValue()"><code>intValue()</code></a></td> <td><a href="#setValue(int)"><code>setValue(int)</code></a></td></tr>
<tr><td>integerValueList</td> <td><code>int[]</code></td> <td><a href="#intValueList()"><code>intValueList()</code></a></td> <td><a href="#setValue(java.lang.Object)"><code>setValue(Object)</code></a></td></tr>
<tr><td>booleanValue</td> <td><code>boolean</code></td> <td><a href="#booleanValue()"><code>booleanValue()</code></a></td> <td><a href="#setValue(boolean)"><code>setValue(boolean)</code></a></td></tr>
<tr><td>valueFile</td> <td><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/URI.html" title="class or interface in java.net" class="external-link"><code>URI</code></a></td> <td><a href="#valueFile()"><code>valueFile()</code></a></td> <td><a href="#setValue(java.lang.Object)"><code>setValue(Object)</code></a></td></tr>
<tr><td>valueFileCitation</td> <td><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/citation/Citation.html" title="class or interface in org.opengis.metadata.citation" class="external-link"><code>Citation</code></a></td> <td><a href="#getValue()"><code>getValue()</code></a></td> <td><a href="#setValue(java.lang.Object)"><code>setValue(Object)</code></a></td></tr>
</table>
The type and constraints on parameter values are given by the <a href="#getDescriptor()">descriptor</a>,
which is specified at construction time. The parameter type can be fetch with the following idiom:
<div class="snippet-container"><button class="copy snippet-copy" aria-label="Copy snippet" onclick="copySnippet(this)"><span data-copied="Copied!">Copy</span><img src="../../../../../copy.svg" alt="Copy snippet"></button>
<pre class="snippet"><code class="language-java">Class&lt;T&gt; valueClass = parameter.getDescriptor().getValueClass();
</code></pre>
</div>
<h2 id="instantiation-heading">Instantiation</h2>
A <a href="DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter">parameter descriptor</a> must be defined before parameter value can be created.
Descriptors are usually predefined by map projection or process providers. Given a descriptor, a parameter value can
be created by a call to the <a href="#%3Cinit%3E(org.opengis.parameter.ParameterDescriptor)"><code>Default­Parameter­Value(Parameter­Descriptor)</code></a> constructor or by a call to the
<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterDescriptor.html#createValue()" title="class or interface in org.opengis.parameter" class="external-link"><code>Parameter­Descriptor​.create­Value()</code></a> method. The latter is recommended since it allows descriptors to return
specialized implementations.
<h2 id="implementation-note-for-subclasses-heading">Implementation note for subclasses</h2>
All read and write operations (except constructors, <a href="#equals(java.lang.Object)"><code>equals(Object)</code></a> and <a href="#hashCode()"><code>hash­Code()</code></a>)
ultimately delegates to the following methods:
<ul>
<li>All getter methods will invoke <a href="#getValue()"><code>get­Value()</code></a> and <a href="#getUnit()"><code>get­Unit()</code></a> (if needed),
then perform their processing on the values returned by those methods.</li>
<li>All setter methods delegate to the <a href="#setValue(java.lang.Object,javax.measure.Unit)"><code>set­Value(Object, Unit)</code></a> method.</li>
</ul>
Consequently, the above-cited methods provide single points that subclasses can override
for modifying the behavior of all getter and setter methods.</div>
<dl class="notes">
<dt>Since:</dt>
<dd>0.4</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="DefaultParameterDescriptor.html" title="class in org.apache.sis.parameter"><code>Default­Parameter­Descriptor</code></a></li>
<li><a href="DefaultParameterValueGroup.html" title="class in org.apache.sis.parameter"><code>Default­Parameter­Value­Group</code></a></li>
<li><a href="../../../../../serialized-form.html#org.apache.sis.parameter.DefaultParameterValue">Serialized Form</a></li>
</ul>
</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected <a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a><wbr>&lt;?&gt;</code></div>
<div class="col-second even-row-color"><code><a href="#unit" class="member-name-link">unit</a></code></div>
<div class="col-last even-row-color">
<div class="block">The unit of measure for the value, or <code>null</code> if it does not apply.</div>
</div>
<div class="col-first odd-row-color"><code>protected <a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a></code></div>
<div class="col-second odd-row-color"><code><a href="#value" class="member-name-link">value</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The value, or <code>null</code> if undefined.</div>
</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.opengis.parameter.ParameterDescriptor)" class="member-name-link">Default­Parameter­Value</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterDescriptor.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Descriptor</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;&nbsp;descriptor)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a parameter value from the specified descriptor.</div>
</div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(org.opengis.parameter.ParameterValue)" class="member-name-link">Default­Parameter­Value</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;&nbsp;parameter)</code></div>
<div class="col-last odd-row-color">
<div class="block">Creates a new instance initialized with the values from the specified parameter object.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#booleanValue()" class="member-name-link">boolean­Value</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the boolean value of this parameter.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DefaultParameterValue.html" title="class in org.apache.sis.parameter">Default­Parameter­Value</a><wbr>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#clone()" class="member-name-link">clone</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a clone of this parameter value.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#doubleValue()" class="member-name-link">double­Value</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the numeric value of this parameter.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#doubleValue(javax.measure.Unit)" class="member-name-link">double­Value</a><wbr>(<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;?&gt;&nbsp;unit)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the numeric value of this parameter in the given unit of measure.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#doubleValueList()" class="member-name-link">double­Value­List</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns an ordered sequence of two or more numeric values of this parameter,
where each value has the same associated unit of measure.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#doubleValueList(javax.measure.Unit)" class="member-name-link">double­Value­List</a><wbr>(<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;?&gt;&nbsp;unit)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns an ordered sequence of numeric values in the specified unit of measure.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(java.lang.Object)" class="member-name-link">equals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;object)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Compares the specified object with this parameter for equality.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)" class="member-name-link">equals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;object,
<a href="../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html" title="enum class in org.apache.sis.util">Comparison­Mode</a>&nbsp;mode)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Compares the specified object with this parameter for equality.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#formatTo(org.apache.sis.io.wkt.Formatter)" class="member-name-link">format­To</a><wbr>(<a href="../io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a>&nbsp;formatter)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Formats this parameter as a <cite>Well Known Text</cite> <code>Parameter[…]</code> element.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterDescriptor.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Descriptor</a><wbr>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDescriptor()" class="member-name-link">get­Descriptor</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the definition of this parameter.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a><wbr>&lt;?&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getUnit()" class="member-name-link">get­Unit</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the unit of measure of the parameter value.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getValue()" class="member-name-link">get­Value</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the parameter value as an object.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hashCode()" class="member-name-link">hash­Code</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a hash value for this parameter.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#intValue()" class="member-name-link">int­Value</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the integer value of this parameter, usually used for a count.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#intValueList()" class="member-name-link">int­Value­List</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns an ordered sequence of two or more integer values of this parameter, usually used for counts.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setValue(boolean)" class="member-name-link">set­Value</a><wbr>(boolean&nbsp;new­Value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the parameter value as a boolean.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setValue(double)" class="member-name-link">set­Value</a><wbr>(double&nbsp;new­Value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the parameter value as a floating point.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setValue(double%5B%5D,javax.measure.Unit)" class="member-name-link">set­Value</a><wbr>(double[]&nbsp;new­Values,
<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;?&gt;&nbsp;unit)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the parameter value as an array of floating point and their associated unit.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setValue(double,javax.measure.Unit)" class="member-name-link">set­Value</a><wbr>(double&nbsp;new­Value,
<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;?&gt;&nbsp;unit)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the parameter value as a floating point and its associated unit.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setValue(int)" class="member-name-link">set­Value</a><wbr>(int&nbsp;new­Value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the parameter value as an integer.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setValue(java.lang.Object)" class="member-name-link">set­Value</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;new­Value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the parameter value as an object.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setValue(java.lang.Object,javax.measure.Unit)" class="member-name-link">set­Value</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;new­Value,
<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;?&gt;&nbsp;unit)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the parameter value and its associated unit.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#stringValue()" class="member-name-link">string­Value</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the string value of this parameter.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static &lt;T&gt;&nbsp;<a href="DefaultParameterValue.html" title="class in org.apache.sis.parameter">Default­Parameter­Value</a><wbr>&lt;T&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#unmodifiable(org.opengis.parameter.ParameterValue)" class="member-name-link">unmodifiable</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;T&gt;&nbsp;parameter)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns an unmodifiable implementation of the given parameter value.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#validate(T)" class="member-name-link">validate</a><wbr>(<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&nbsp;new­Value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Invoked by <a href="#setValue(java.lang.Object,javax.measure.Unit)"><code>set­Value(Object, Unit)</code></a> after the basic verifications have been done and before
the value is stored.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/URI.html" title="class or interface in java.net" class="external-link">URI</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#valueFile()" class="member-name-link">value­File</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a reference to a file or a part of a file containing one or more parameter values.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-FormattableObject">Methods inherited from class&nbsp;<a href="../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">FormattableObject</a></h3>
<code><a href="../io/wkt/FormattableObject.html#print()">print</a>, <a href="../io/wkt/FormattableObject.html#toString()">to­String</a>, <a href="../io/wkt/FormattableObject.html#toString(org.apache.sis.io.wkt.Convention)">to­String</a>, <a href="../io/wkt/FormattableObject.html#toWKT()">to­WKT</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">get­Class</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notify­All</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="value">
<h3>value</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a></span>&nbsp;<span class="element-name">value</span></div>
<div class="block">The value, or <code>null</code> if undefined.
Except for the constructors, the <a href="#equals(java.lang.Object)"><code>equals(Object)</code></a> and the <a href="#hashCode()"><code>hash­Code()</code></a> methods,
this field should be read only by <a href="#getValue()"><code>get­Value()</code></a> and written only by <a href="#setValue(java.lang.Object,javax.measure.Unit)"><code>set­Value(Object, Unit)</code></a>.</div>
<dl class="notes">
<dt>Since:</dt>
<dd>0.7</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="unit">
<h3>unit</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;?&gt;</span>&nbsp;<span class="element-name">unit</span></div>
<div class="block">The unit of measure for the value, or <code>null</code> if it does not apply.
Except for the constructors, the <a href="#equals(java.lang.Object)"><code>equals(Object)</code></a> and the <a href="#hashCode()"><code>hash­Code()</code></a> methods,
this field should be read only by <a href="#getUnit()"><code>get­Unit()</code></a> and written only by <a href="#setValue(java.lang.Object,javax.measure.Unit)"><code>set­Value(Object, Unit)</code></a>.</div>
<dl class="notes">
<dt>Since:</dt>
<dd>0.7</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(org.opengis.parameter.ParameterDescriptor)">
<h3>DefaultParameterValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DefaultParameterValue</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterDescriptor.html" title="class or interface in org.opengis.parameter" class="external-link">ParameterDescriptor</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;&nbsp;descriptor)</span></div>
<div class="block">Creates a parameter value from the specified descriptor.
The value will be initialized to the default value, if any.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>descriptor</code> - the abstract definition of this parameter.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(org.opengis.parameter.ParameterValue)">
<h3>DefaultParameterValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DefaultParameterValue</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">ParameterValue</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;&nbsp;parameter)</span></div>
<div class="block">Creates a new instance initialized with the values from the specified parameter object.
This is a <em>shallow</em> copy constructor, since the value contained in the given
object is not cloned.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>parameter</code> - the parameter to copy values from.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="#clone()"><code>clone()</code></a></li>
<li><a href="#unmodifiable(org.opengis.parameter.ParameterValue)"><code>unmodifiable(Parameter­Value)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getDescriptor()">
<h3>getDescriptor</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterDescriptor.html" title="class or interface in org.opengis.parameter" class="external-link">ParameterDescriptor</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</span>&nbsp;<span class="element-name">getDescriptor</span>()</div>
<div class="block">Returns the definition of this parameter.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/GeneralParameterValue.html#getDescriptor()" title="class or interface in org.opengis.parameter" class="external-link">get­Descriptor</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/GeneralParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">General­Parameter­Value</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#getDescriptor()" title="class or interface in org.opengis.parameter" class="external-link">get­Descriptor</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the definition of this parameter.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getUnit()">
<h3>getUnit</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;?&gt;</span>&nbsp;<span class="element-name">getUnit</span>()</div>
<div class="block">Returns the unit of measure of the parameter value.
If the parameter value has no unit (for example because it is a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link"><code>String</code></a> type),
then this method returns <code>null</code>. Note that "no unit" does not mean "dimensionless".
<h4 id="implementation-note-for-subclasses-heading1">Implementation note for subclasses</h4>
All getter methods which need unit information will invoke this <code>get­Unit()</code> method.
Subclasses can override this method if they need to compute the unit dynamically.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#getUnit()" title="class or interface in org.opengis.parameter" class="external-link">get­Unit</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the unit of measure, or <code>null</code> if none.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="#doubleValue()"><code>double­Value()</code></a></li>
<li><a href="#doubleValueList()"><code>double­Value­List()</code></a></li>
<li><a href="#getValue()"><code>get­Value()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getValue()">
<h3>getValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a></span>&nbsp;<span class="element-name">getValue</span>()</div>
<div class="block">Returns the parameter value as an object.
If no value has been set, then this method returns the
<a href="DefaultParameterDescriptor.html#getDefaultValue()">default value</a> (which may be null).
<h4 id="implementation-note-for-subclasses-heading2">Implementation note for subclasses</h4>
All getter methods will invoke this <code>get­Value()</code> method.
Subclasses can override this method if they need to compute the value dynamically.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#getValue()" title="class or interface in org.opengis.parameter" class="external-link">get­Value</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the parameter value as an object, or <code>null</code> if no value has been set
and there is no default value.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#setValue(java.lang.Object)"><code>set­Value(Object)</code></a></li>
<li><a href="Parameters.html#getValue(org.opengis.parameter.ParameterDescriptor)"><code>Parameters​.get­Value(Parameter­Descriptor)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="booleanValue()">
<h3>booleanValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">booleanValue</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Returns the boolean value of this parameter.
A boolean value does not have an associated unit of measure.
<p>The default implementation invokes <a href="#getValue()"><code>get­Value()</code></a> and casts the result if possible,
or throws an exception otherwise.</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#booleanValue()" title="class or interface in org.opengis.parameter" class="external-link">boolean­Value</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the boolean value represented by this parameter.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterTypeException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Type­Exception</a></code> - if the value is not a boolean type.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">Illegal­State­Exception</a></code> - if the value is not defined and there is no default value.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#setValue(boolean)"><code>set­Value(boolean)</code></a></li>
<li><a href="Parameters.html#booleanValue(org.opengis.parameter.ParameterDescriptor)"><code>Parameters​.boolean­Value(Parameter­Descriptor)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="intValue()">
<h3>intValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">intValue</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Returns the integer value of this parameter, usually used for a count.
An integer value does not have an associated unit of measure.
<p>The default implementation invokes <a href="#getValue()"><code>get­Value()</code></a> and casts the result if possible,
or throws an exception otherwise.</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#intValue()" title="class or interface in org.opengis.parameter" class="external-link">int­Value</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the numeric value represented by this parameter after conversion to type <code>int</code>.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterTypeException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Type­Exception</a></code> - if the value is not an integer type.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">Illegal­State­Exception</a></code> - if the value is not defined and there is no default value.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#setValue(int)"><code>set­Value(int)</code></a></li>
<li><a href="#intValueList()"><code>int­Value­List()</code></a></li>
<li><a href="Parameters.html#intValue(org.opengis.parameter.ParameterDescriptor)"><code>Parameters​.int­Value(Parameter­Descriptor)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="intValueList()">
<h3>intValueList</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int[]</span>&nbsp;<span class="element-name">intValueList</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Returns an ordered sequence of two or more integer values of this parameter, usually used for counts.
<p>The default implementation invokes <a href="#getValue()"><code>get­Value()</code></a> and casts the result if possible,
or throws an exception otherwise. If the value can be casted, then the array is cloned before
to be returned.</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#intValueList()" title="class or interface in org.opengis.parameter" class="external-link">int­Value­List</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>a copy of the sequence of values represented by this parameter.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterTypeException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Type­Exception</a></code> - if the value is not an array of <code>int</code>s.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">Illegal­State­Exception</a></code> - if the value is not defined and there is no default value.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#setValue(java.lang.Object)"><code>set­Value(Object)</code></a></li>
<li><a href="#intValue()"><code>int­Value()</code></a></li>
<li><a href="Parameters.html#intValueList(org.opengis.parameter.ParameterDescriptor)"><code>Parameters​.int­Value­List(Parameter­Descriptor)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="doubleValue()">
<h3>doubleValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">doubleValue</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Returns the numeric value of this parameter.
The units of measurement are specified by <a href="#getUnit()"><code>get­Unit()</code></a>.
<p>The default implementation invokes <a href="#getValue()"><code>get­Value()</code></a> and casts the result if possible,
or throws an exception otherwise.</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#doubleValue()" title="class or interface in org.opengis.parameter" class="external-link">double­Value</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the numeric value represented by this parameter after conversion to type <code>double</code>.
This method returns <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Double.html#NaN" title="class or interface in java.lang" class="external-link"><code>Double​.Na­N</code></a> only if such "value" has been explicitly set.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterTypeException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Type­Exception</a></code> - if the value is not a numeric type.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">Illegal­State­Exception</a></code> - if the value is not defined and there is no default value.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#getUnit()"><code>get­Unit()</code></a></li>
<li><a href="#setValue(double)"><code>set­Value(double)</code></a></li>
<li><a href="#doubleValueList()"><code>double­Value­List()</code></a></li>
<li><a href="Parameters.html#doubleValue(org.opengis.parameter.ParameterDescriptor)"><code>Parameters​.double­Value(Parameter­Descriptor)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="doubleValueList()">
<h3>doubleValueList</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double[]</span>&nbsp;<span class="element-name">doubleValueList</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Returns an ordered sequence of two or more numeric values of this parameter,
where each value has the same associated unit of measure.
<p>The default implementation invokes <a href="#getValue()"><code>get­Value()</code></a> and casts the result if possible,
or throws an exception otherwise. If the value can be casted, then the array is cloned before
to be returned.</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#doubleValueList()" title="class or interface in org.opengis.parameter" class="external-link">double­Value­List</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>a copy of the sequence of values represented by this parameter.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterTypeException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Type­Exception</a></code> - if the value is not an array of <code>double</code>s.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">Illegal­State­Exception</a></code> - if the value is not defined and there is no default value.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="#getUnit()"><code>get­Unit()</code></a></li>
<li><a href="#setValue(java.lang.Object)"><code>set­Value(Object)</code></a></li>
<li><a href="#doubleValue()"><code>double­Value()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="doubleValue(javax.measure.Unit)">
<h3>doubleValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">doubleValue</span><wbr><span class="parameters">(<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;?&gt;&nbsp;unit)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a>,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Returns the numeric value of this parameter in the given unit of measure.
This convenience method applies unit conversions on the fly as needed.
<p>The default implementation invokes <a href="#doubleValue()"><code>double­Value()</code></a> and <a href="#getUnit()"><code>get­Unit()</code></a>,
then converts the values to the given unit of measurement.</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#doubleValue(javax.measure.Unit)" title="class or interface in org.opengis.parameter" class="external-link">double­Value</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>unit</code> - the unit of measure for the value to be returned.</dd>
<dt>Returns:</dt>
<dd>the numeric value represented by this parameter after conversion to type
<code>double</code> and conversion to <code>unit</code>.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">Illegal­Argument­Exception</a></code> - if the specified unit is invalid for this parameter.</dd>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterTypeException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Type­Exception</a></code> - if the value is not a numeric type.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">Illegal­State­Exception</a></code> - if the value is not defined and there is no default value.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#getUnit()"><code>get­Unit()</code></a></li>
<li><a href="#setValue(double,javax.measure.Unit)"><code>set­Value(double,Unit)</code></a></li>
<li><a href="#doubleValueList(javax.measure.Unit)"><code>double­Value­List(Unit)</code></a></li>
<li><a href="Parameters.html#doubleValue(org.opengis.parameter.ParameterDescriptor)"><code>Parameters​.double­Value(Parameter­Descriptor)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="doubleValueList(javax.measure.Unit)">
<h3>doubleValueList</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double[]</span>&nbsp;<span class="element-name">doubleValueList</span><wbr><span class="parameters">(<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;?&gt;&nbsp;unit)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a>,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Returns an ordered sequence of numeric values in the specified unit of measure.
This convenience method applies unit conversions on the fly as needed.
<p>The default implementation invokes <a href="#doubleValueList()"><code>double­Value­List()</code></a> and <a href="#getUnit()"><code>get­Unit()</code></a>,
then converts the values to the given unit of measurement.</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#doubleValueList(javax.measure.Unit)" title="class or interface in org.opengis.parameter" class="external-link">double­Value­List</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>unit</code> - the unit of measure for the value to be returned.</dd>
<dt>Returns:</dt>
<dd>the sequence of values represented by this parameter after conversion to type
<code>double</code> and conversion to <code>unit</code>.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">Illegal­Argument­Exception</a></code> - if the specified unit is invalid for this parameter.</dd>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterTypeException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Type­Exception</a></code> - if the value is not an array of <code>double</code>s.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">Illegal­State­Exception</a></code> - if the value is not defined and there is no default value.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#getUnit()"><code>get­Unit()</code></a></li>
<li><a href="#setValue(double%5B%5D,javax.measure.Unit)"><code>set­Value(double[],Unit)</code></a></li>
<li><a href="#doubleValue(javax.measure.Unit)"><code>double­Value(Unit)</code></a></li>
<li><a href="Parameters.html#doubleValueList(org.opengis.parameter.ParameterDescriptor)"><code>Parameters​.double­Value­List(Parameter­Descriptor)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="stringValue()">
<h3>stringValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">stringValue</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Returns the string value of this parameter.
A string value does not have an associated unit of measure.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#stringValue()" title="class or interface in org.opengis.parameter" class="external-link">string­Value</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the string value represented by this parameter.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterTypeException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Type­Exception</a></code> - if the value is not a string.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">Illegal­State­Exception</a></code> - if the value is not defined and there is no default value.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#getValue()"><code>get­Value()</code></a></li>
<li><a href="#setValue(java.lang.Object)"><code>set­Value(Object)</code></a></li>
<li><a href="Parameters.html#stringValue(org.opengis.parameter.ParameterDescriptor)"><code>Parameters​.string­Value(Parameter­Descriptor)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="valueFile()">
<h3>valueFile</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/URI.html" title="class or interface in java.net" class="external-link">URI</a></span>&nbsp;<span class="element-name">valueFile</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Returns a reference to a file or a part of a file containing one or more parameter values.
The default implementation can convert the following value types:
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/URI.html" title="class or interface in java.net" class="external-link"><code>URI</code></a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/URL.html" title="class or interface in java.net" class="external-link"><code>URL</code></a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/Path.html" title="class or interface in java.nio.file" class="external-link"><code>Path</code></a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/File.html" title="class or interface in java.io" class="external-link"><code>File</code></a>.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#valueFile()" title="class or interface in org.opengis.parameter" class="external-link">value­File</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the reference to a file containing parameter values.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterTypeException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Type­Exception</a></code> - if the value is not a reference to a file or a URI.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">Illegal­State­Exception</a></code> - if the value is not defined and there is no default value.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="#getValue()"><code>get­Value()</code></a></li>
<li><a href="#setValue(java.lang.Object)"><code>set­Value(Object)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setValue(java.lang.Object)">
<h3>setValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setValue</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;newValue)</span>
throws <span class="exceptions"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">InvalidParameterValueException</a></span></div>
<div class="block">Sets the parameter value as an object. The object type is typically (but not limited to) <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Double.html" title="class or interface in java.lang" class="external-link"><code>Double</code></a>,
<code>double[]</code>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link"><code>Integer</code></a>, <code>int[]</code>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link"><code>Boolean</code></a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link"><code>String</code></a> or <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/URI.html" title="class or interface in java.net" class="external-link"><code>URI</code></a>.
If the given value is <code>null</code>, then this parameter is set to the
<a href="DefaultParameterDescriptor.html#getDefaultValue()">default value</a>.
If the given value is not an instance of the expected type, then this method may perform automatically
a type conversion (for example from <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Float.html" title="class or interface in java.lang" class="external-link"><code>Float</code></a> to <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Double.html" title="class or interface in java.lang" class="external-link"><code>Double</code></a> or from <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/Path.html" title="class or interface in java.nio.file" class="external-link"><code>Path</code></a> to <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/URI.html" title="class or interface in java.net" class="external-link"><code>URI</code></a>)
if such conversion can be done without information lost.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#setValue(java.lang.Object)" title="class or interface in org.opengis.parameter" class="external-link">set­Value</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>new­Value</code> - the parameter value, or <code>null</code> to restore the default.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Value­Exception</a></code> - if the type of <code>value</code> is inappropriate for this parameter,
or if the value is illegal for some other reason (for example the value is numeric and out of range).</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="#getValue()"><code>get­Value()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setValue(boolean)">
<h3>setValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setValue</span><wbr><span class="parameters">(boolean&nbsp;newValue)</span>
throws <span class="exceptions"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">InvalidParameterValueException</a></span></div>
<div class="block">Sets the parameter value as a boolean.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#setValue(boolean)" title="class or interface in org.opengis.parameter" class="external-link">set­Value</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>new­Value</code> - the parameter value.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Value­Exception</a></code> - if the boolean type is inappropriate for this parameter.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="#booleanValue()"><code>boolean­Value()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setValue(int)">
<h3>setValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setValue</span><wbr><span class="parameters">(int&nbsp;newValue)</span>
throws <span class="exceptions"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">InvalidParameterValueException</a></span></div>
<div class="block">Sets the parameter value as an integer. This method automatically wraps the given integer
in an object of the type specified by the <a href="#getDescriptor()">descriptor</a> if that
conversion can be done without information lost.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#setValue(int)" title="class or interface in org.opengis.parameter" class="external-link">set­Value</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>new­Value</code> - the parameter value.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Value­Exception</a></code> - if the integer type is inappropriate for this parameter,
or if the value is illegal for some other reason (for example a value out of range).</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="#intValue()"><code>int­Value()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setValue(double)">
<h3>setValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setValue</span><wbr><span class="parameters">(double&nbsp;newValue)</span>
throws <span class="exceptions"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">InvalidParameterValueException</a></span></div>
<div class="block">Sets the parameter value as a floating point. The unit, if any, stay unchanged. This method automatically
wraps the given number in an object of the type specified by the <a href="#getDescriptor()">descriptor</a>.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#setValue(double)" title="class or interface in org.opengis.parameter" class="external-link">set­Value</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>new­Value</code> - the parameter value.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Value­Exception</a></code> - if the floating point type is inappropriate for this parameter,
or if the value is illegal for some other reason (for example a value out of range).</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#setValue(double,javax.measure.Unit)"><code>set­Value(double,Unit)</code></a></li>
<li><a href="#doubleValue()"><code>double­Value()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setValue(double,javax.measure.Unit)">
<h3>setValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setValue</span><wbr><span class="parameters">(double&nbsp;newValue,
<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;?&gt;&nbsp;unit)</span>
throws <span class="exceptions"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">InvalidParameterValueException</a></span></div>
<div class="block">Sets the parameter value as a floating point and its associated unit. This method automatically wraps
the given number in an object of the type specified by the <a href="#getDescriptor()">descriptor</a>.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#setValue(double,javax.measure.Unit)" title="class or interface in org.opengis.parameter" class="external-link">set­Value</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>new­Value</code> - the parameter value.</dd>
<dd><code>unit</code> - the unit for the specified value.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Value­Exception</a></code> - if the floating point type is inappropriate for this parameter,
or if the value is illegal for some other reason (for example a value out of range).</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="#setValue(double)"><code>set­Value(double)</code></a></li>
<li><a href="#doubleValue(javax.measure.Unit)"><code>double­Value(Unit)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setValue(double[],javax.measure.Unit)">
<h3>setValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setValue</span><wbr><span class="parameters">(double[]&nbsp;newValues,
<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;?&gt;&nbsp;unit)</span>
throws <span class="exceptions"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">InvalidParameterValueException</a></span></div>
<div class="block">Sets the parameter value as an array of floating point and their associated unit.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#setValue(double%5B%5D,javax.measure.Unit)" title="class or interface in org.opengis.parameter" class="external-link">set­Value</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>new­Values</code> - the parameter values.</dd>
<dd><code>unit</code> - the unit for the specified value.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Value­Exception</a></code> - if the floating point array type is inappropriate for this parameter,
or if the value is illegal for some other reason (for example a value out of range).</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setValue(java.lang.Object,javax.measure.Unit)">
<h3>setValue</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setValue</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;newValue,
<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Unit.html" title="class or interface in javax.measure" class="external-link">Unit</a>&lt;?&gt;&nbsp;unit)</span>
throws <span class="exceptions"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">InvalidParameterValueException</a></span></div>
<div class="block">Sets the parameter value and its associated unit.
If the given value is <code>null</code>, then this parameter is set to the
<a href="DefaultParameterDescriptor.html#getDefaultValue()">default value</a>.
Otherwise the given value shall be an instance of the class expected by the <a href="#getDescriptor()">descriptor</a>.
<ul>
<li>This method does not perform any type conversion. Type conversion, if desired, should be
applied by the public <code>set­Value(…)</code> methods before to invoke this protected method.</li>
<li>This method does not clone the given value. In particular, references to <code>int[]</code> and
<code>double[]</code> arrays are stored <cite>as-is</cite>.</li>
</ul>
<h4 id="implementation-note-for-subclasses-heading3">Implementation note for subclasses</h4>
This method is invoked by all setter methods in this class, thus providing a single point that
subclasses can override if they want to perform more processing on the value before its storage,
or to be notified about value changes.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>new­Value</code> - the parameter value, or <code>null</code> to restore the default.</dd>
<dd><code>unit</code> - the unit associated to the new parameter value, or <code>null</code>.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Value­Exception</a></code> - if the type of <code>value</code> is inappropriate for this parameter,
or if the value is illegal for some other reason (for example the value is numeric and out of range).</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="#validate(T)"><code>validate(Object)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="validate(T)">
<h3 id="validate(java.lang.Object)">validate</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">validate</span><wbr><span class="parameters">(<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&nbsp;newValue)</span>
throws <span class="exceptions"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">InvalidParameterValueException</a></span></div>
<div class="block">Invoked by <a href="#setValue(java.lang.Object,javax.measure.Unit)"><code>set­Value(Object, Unit)</code></a> after the basic verifications have been done and before
the value is stored. Subclasses can override this method for performing additional verifications.
<h4 id="unit-of-measurement-heading">Unit of measurement</h4>
If the user specified a unit of measurement, then the value given to this method has been converted
to the unit specified by the <a href="#getDescriptor()">descriptor</a>, for easier comparisons against
standardized values. This converted value may be different than the value to be stored in this
<code>Parameter­Value</code>, since the latter value will be stored in the unit specified by the user.
<h4 id="standard-validations-heading">Standard validations</h4>
The checks for <a href="DefaultParameterDescriptor.html#getValueClass()">value class</a>,
for <a href="DefaultParameterDescriptor.html#getValueDomain()">value domain</a> and for
<a href="DefaultParameterDescriptor.html#getValidValues()">valid values</a> are performed
before this method is invoked. The default implementation of this method does nothing.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>new­Value</code> - the value converted to the unit of measurement specified by the descriptor.</dd>
<dt>Throws:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/InvalidParameterValueException.html" title="class or interface in org.opengis.parameter" class="external-link">Invalid­Parameter­Value­Exception</a></code> - if the given value is invalid for implementation-specific reasons.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">
<h3>equals</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;object,
<a href="../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html" title="enum class in org.apache.sis.util">ComparisonMode</a>&nbsp;mode)</span></div>
<div class="block">Compares the specified object with this parameter for equality.
The strictness level is controlled by the second argument.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code></dd>
<dt>Parameters:</dt>
<dd><code>object</code> - the object to compare to <code>this</code>.</dd>
<dd><code>mode</code> - the strictness level of the comparison.</dd>
<dt>Returns:</dt>
<dd><code>true</code> if both objects are equal according the given comparison mode.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="../../../../../org.apache.sis.util/org/apache/sis/util/Utilities.html#deepEquals(java.lang.Object,java.lang.Object,org.apache.sis.util.ComparisonMode)"><code>Utilities​.deep­Equals(Object, Object, Comparison­Mode)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="equals(java.lang.Object)">
<h3>equals</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;object)</span></div>
<div class="block">Compares the specified object with this parameter for equality.
This method is implemented as below:
<div class="snippet-container"><button class="copy snippet-copy" aria-label="Copy snippet" onclick="copySnippet(this)"><span data-copied="Copied!">Copy</span><img src="../../../../../copy.svg" alt="Copy snippet"></button>
<pre class="snippet"><code class="language-java">return equals(other, ComparisonMode.STRICT);
</code></pre>
</div>
Subclasses shall override <a href="#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)"><code>equals(Object, Comparison­Mode)</code></a> instead of this method.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html#equals(java.lang.Object)">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
<dt>Parameters:</dt>
<dd><code>object</code> - the object to compare to <code>this</code>.</dd>
<dt>Returns:</dt>
<dd><code>true</code> if both objects are equal.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html#STRICT"><code>Comparison­Mode​.STRICT</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hashCode()">
<h3>hashCode</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">hashCode</span>()</div>
<div class="block">Returns a hash value for this parameter.
This value does not need to be the same in past or future versions of this class.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hash­Code</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
<dt>Returns:</dt>
<dd>the hash code value.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="clone()">
<h3>clone</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</span>&nbsp;<span class="element-name">clone</span>()</div>
<div class="block">Returns a clone of this parameter value.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/GeneralParameterValue.html#clone()" title="class or interface in org.opengis.parameter" class="external-link">clone</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/GeneralParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">General­Parameter­Value</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html#clone()" title="class or interface in org.opengis.parameter" class="external-link">clone</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">Parameter­Value</a>&lt;<a href="DefaultParameterValue.html" title="type parameter in DefaultParameterValue">T</a>&gt;</code></dd>
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#%3Cinit%3E(org.opengis.parameter.ParameterValue)"><code>Default­Parameter­Value(Parameter­Value)</code></a></li>
<li><a href="#unmodifiable(org.opengis.parameter.ParameterValue)"><code>unmodifiable(Parameter­Value)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="unmodifiable(org.opengis.parameter.ParameterValue)">
<h3>unmodifiable</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type"><a href="DefaultParameterValue.html" title="class in org.apache.sis.parameter">DefaultParameterValue</a>&lt;T&gt;</span>&nbsp;<span class="element-name">unmodifiable</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/parameter/ParameterValue.html" title="class or interface in org.opengis.parameter" class="external-link">ParameterValue</a>&lt;T&gt;&nbsp;parameter)</span></div>
<div class="block">Returns an unmodifiable implementation of the given parameter value.
This method shall be used only with:
<ul>
<li>immutable <a href="#getDescriptor()">descriptor</a>,</li>
<li>immutable or null <a href="#getUnit()">unit</a>, and</li>
<li>immutable or <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Cloneable.html" title="class or interface in java.lang" class="external-link">cloneable</a> parameter <a href="#getValue()">value</a>.</li>
</ul>
If the parameter value implements the <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Cloneable.html" title="class or interface in java.lang" class="external-link"><code>Cloneable</code></a> interface and has a public <code>clone()</code> method,
then that value will be cloned every time the <a href="#getValue()"><code>get­Value()</code></a> method is invoked.
The value is not cloned by this method however; it is caller's responsibility to not modify the value of
the given <code>parameter</code> instance after this method call.
<h4 id="instances-sharing-heading">Instances sharing</h4>
If this method is invoked more than once with equal <a href="#getDescriptor()">descriptor</a>,
<a href="#getValue()">value</a> and <a href="#getUnit()">unit</a>, then this method will return
the same <code>Default­Parameter­Value</code> instance on a <cite>best effort</cite> basis.
The rational for sharing is because the same parameter value is often used in many different coordinate operations.
For example, all <cite>Universal Transverse Mercator</cite> (UTM) projections use the same scale factor (0.9996)
and the same false easting (500000 metres).</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - the type of the value stored in the given parameter.</dd>
<dt>Parameters:</dt>
<dd><code>parameter</code> - the parameter to make unmodifiable, or <code>null</code>.</dd>
<dt>Returns:</dt>
<dd>a unmodifiable implementation of the given parameter, or <code>null</code> if the given parameter was null.</dd>
<dt>Since:</dt>
<dd>0.6</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="Parameters.html#unmodifiable(org.opengis.parameter.ParameterValueGroup)"><code>Parameters​.unmodifiable(Parameter­Value­Group)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="formatTo(org.apache.sis.io.wkt.Formatter)">
<h3>formatTo</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">formatTo</span><wbr><span class="parameters">(<a href="../io/wkt/Formatter.html" title="class in org.apache.sis.io.wkt">Formatter</a>&nbsp;formatter)</span></div>
<div class="block">Formats this parameter as a <cite>Well Known Text</cite> <code>Parameter[…]</code> element.
Example:
<div class="snippet-container"><button class="copy snippet-copy" aria-label="Copy snippet" onclick="copySnippet(this)"><span data-copied="Copied!">Copy</span><img src="../../../../../copy.svg" alt="Copy snippet"></button>
<pre class="snippet"><code class="language-wkt">Parameter["False easting", 0.0, LengthUnit["metre", 1]]
</code></pre>
</div>
<h4 id="unit-of-measurement-heading1">Unit of measurement</h4>
The units of measurement were never specified in WKT 1 format, and are optional in WKT 2 format.
If the units are not specified, then they are inferred from the context.
Typically, parameter values that are lengths are given in the unit for the projected CRS axes
while parameter values that are angles are given in the unit for the base geographic CRS.
<h4 id="example-heading">Example</h4>
The snippet below show WKT representations of the map projection parameters of a projected CRS
(most other elements are omitted). The map projection uses a <cite>"Latitude of natural origin"</cite>
parameters which is set to 52 <strong>grads</strong>, as defined in the <code>UNIT[…]</code> element of the
enclosing CRS. A similar rule applies to <cite>“False easting”</cite> and <cite>“False northing”</cite>
parameters, which are in kilometres in this example.
<p><b>WKT 1:</b></p>
<div class="snippet-container"><button class="copy snippet-copy" aria-label="Copy snippet" onclick="copySnippet(this)"><span data-copied="Copied!">Copy</span><img src="../../../../../copy.svg" alt="Copy snippet"></button>
<pre class="snippet"><code class="language-wkt">PROJCS[…,
GEOGCS[…,
UNIT[“grad”, 0.015707963267948967]], // Unit for all angles
PROJECTION[“Lambert_Conformal_Conic_1SP”]
PARAMETER[“latitude_of_origin”, 52.0], // In grads
PARAMETER[“scale_factor”, 0.99987742],
PARAMETER[“false_easting”, 600.0], // In kilometres
PARAMETER[“false_northing”, 2200.0], // In kilometres
UNIT[“kilometre”, 1000]] // Unit for all lengths
</code></pre>
</div>
<p><b>WKT 2:</b></p>
<div class="snippet-container"><button class="copy snippet-copy" aria-label="Copy snippet" onclick="copySnippet(this)"><span data-copied="Copied!">Copy</span><img src="../../../../../copy.svg" alt="Copy snippet"></button>
<pre class="snippet"><code class="language-wkt">ProjectedCRS[…
BaseGeodCRS[…
AngleUnit[“grad”, 0.015707963267948967]],
Conversion[“Lambert zone II”,
Method[“Lambert Conic Conformal (1SP)”],
Parameter[“Latitude of natural origin”, 52.0],
Parameter[“Scale factor at natural origin”, 0.99987742],
Parameter[“False easting”, 600.0],
Parameter[“False northing”, 2200.0]],
CS[“Cartesian”, 2],
LengthUnit[“kilometre”, 1000]]
</code></pre>
</div>
</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../io/wkt/FormattableObject.html#formatTo(org.apache.sis.io.wkt.Formatter)">format­To</a></code>&nbsp;in class&nbsp;<code><a href="../io/wkt/FormattableObject.html" title="class in org.apache.sis.io.wkt">Formattable­Object</a></code></dd>
<dt>Parameters:</dt>
<dd><code>formatter</code> - the formatter where to format the inner content of this WKT element.</dd>
<dt>Returns:</dt>
<dd><code>"Parameter"</code> or <code>"Parameter­File"</code>.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="http://docs.opengeospatial.org/is/12-063r5/12-063r5.html#119">WKT 2 specification §17.2.4</a></li>
</ul>
</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>