blob: 95c53b8d76e2c8d9468fa765d797a72f26f32a45 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 -->
<title>NilReason (Apache SIS 1.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2019-09-20">
<meta name="keywords" content="org.apache.sis.xml.NilReason class">
<meta name="keywords" content="INAPPLICABLE">
<meta name="keywords" content="MISSING">
<meta name="keywords" content="TEMPLATE">
<meta name="keywords" content="UNKNOWN">
<meta name="keywords" content="WITHHELD">
<meta name="keywords" content="OTHER">
<meta name="keywords" content="values()">
<meta name="keywords" content="valueOf()">
<meta name="keywords" content="getOtherExplanation()">
<meta name="keywords" content="getURI()">
<meta name="keywords" content="toString()">
<meta name="keywords" content="hashCode()">
<meta name="keywords" content="equals()">
<meta name="keywords" content="createNilObject()">
<meta name="keywords" content="forObject()">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../sis.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="NilReason (Apache SIS 1.0 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":9,"i8":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/NilReason.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.xml</a></div>
<h2 title="Class NilReason" class="title">Class NilReason</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></li>
<li>
<ul class="inheritance">
<li>NilReason</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code></dd>
</dl>
<hr>
<pre>public final class <span class="typeNameLabel">NilReason</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
implements <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></pre>
<div class="block">Explanation for a missing XML element. The nil reason can be parsed and formatted as a
string using the <a href="#valueOf(java.lang.String)"><code>value­Of(String)</code></a> and <a href="#toString()"><code>to­String()</code></a> methods respectively.
The string can be either a <a href="https://docs.oracle.com/javase/8/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net" class="externalLink"><code>URI</code></a> or an enumeration value described below.
More specifically, <code>Nil­Reason</code> can be:
<ul>
<li>One of the predefined <a href="#INAPPLICABLE"><code>INAPPLICABLE</code></a>, <a href="#MISSING"><code>MISSING</code></a>, <a href="#TEMPLATE"><code>TEMPLATE</code></a>,
<a href="#UNKNOWN"><code>UNKNOWN</code></a> or <a href="#WITHHELD"><code>WITHHELD</code></a> enumeration values.</li>
<li>The <a href="#OTHER"><code>OTHER</code></a> enumeration value, or a new enumeration value formatted as
<code>"other:"</code> concatenated with a brief textual explanation.</li>
<li>A URI which should refer to a resource which describes the reason for the exception.</li>
</ul>
<code>Nil­Reason</code> is used in a number of XML elements where it is necessary to permit
one of the above values as an alternative to the primary element.
<div class="section">Immutability and thread safety</div>
This final class is immutable and thus inherently thread-safe.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.3</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="NilObject.html" title="interface in org.apache.sis.xml"><code>Nil­Object</code></a>,
<a href="../../../../serialized-form.html#org.apache.sis.xml.NilReason">Serialized Form</a></dd>
<p><font size="-1">Defined in the <code>sis-metadata</code> module</font></p>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#INAPPLICABLE">INAPPLICABLE</a></span></code></th>
<td class="colLast">
<div class="block">There is no value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MISSING">MISSING</a></span></code></th>
<td class="colLast">
<div class="block">The correct value is not readily available to the sender of this data.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#OTHER">OTHER</a></span></code></th>
<td class="colLast">
<div class="block">Other reason without explanation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TEMPLATE">TEMPLATE</a></span></code></th>
<td class="colLast">
<div class="block">The value will be available later.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#UNKNOWN">UNKNOWN</a></span></code></th>
<td class="colLast">
<div class="block">The correct value is not known to, and not computable by, the sender of this data.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#WITHHELD">WITHHELD</a></span></code></th>
<td class="colLast">
<div class="block">The value is not divulged.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createNilObject(java.lang.Class)">createNilObject</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Returns an object of the given type which is nil for the reason represented by this instance.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;other)</code></th>
<td class="colLast">
<div class="block">Compares this <code>Nil­Reason</code> with the specified object for equality.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#forObject(java.lang.Object)">forObject</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;object)</code></th>
<td class="colLast">
<div class="block">If the given object is nil, returns the reason why it does not contain information.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOtherExplanation()">getOtherExplanation</a></span>()</code></th>
<td class="colLast">
<div class="block">If this <code>Nil­Reason</code> is an enumeration of kind <a href="#OTHER"><code>OTHER</code></a>, returns the explanation
text.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net" class="externalLink">URI</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getURI()">getURI</a></span>()</code></th>
<td class="colLast">
<div class="block">If the explanation of this <code>Nil­Reason</code> is referenced by a URI, returns that URI.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a hash code value for this <code>Nil­Reason</code>.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the GML string representation of this <code>Nil­Reason</code>.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static <a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#valueOf(java.lang.String)">valueOf</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;reason)</code></th>
<td class="colLast">
<div class="block">Parses the given nil reason.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static <a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#values()">values</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an array containing every instances of this type that have not yet been
garbage collected.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">get­Class</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notify­All</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="INAPPLICABLE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INAPPLICABLE</h4>
<pre>public static final&nbsp;<a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a> INAPPLICABLE</pre>
<div class="block">There is no value.
<p>The string representation is <code>"inapplicable"</code>.
Other properties (explanation and URI) are <code>null</code>.</p></div>
</li>
</ul>
<a id="MISSING">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MISSING</h4>
<pre>public static final&nbsp;<a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a> MISSING</pre>
<div class="block">The correct value is not readily available to the sender of this data.
Furthermore, a correct value may not exist.
<p>The string representation is <code>"missing"</code>.
Other properties (explanation and URI) are <code>null</code>.</p></div>
</li>
</ul>
<a id="TEMPLATE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TEMPLATE</h4>
<pre>public static final&nbsp;<a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a> TEMPLATE</pre>
<div class="block">The value will be available later.
<p>The string representation is <code>"template"</code>.
Other properties (explanation and URI) are <code>null</code>.</p></div>
</li>
</ul>
<a id="UNKNOWN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>UNKNOWN</h4>
<pre>public static final&nbsp;<a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a> UNKNOWN</pre>
<div class="block">The correct value is not known to, and not computable by, the sender of this data.
However, a correct value probably exists.
<p>The string representation is <code>"unknown"</code>.
Other properties (explanation and URI) are <code>null</code>.</p></div>
</li>
</ul>
<a id="WITHHELD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WITHHELD</h4>
<pre>public static final&nbsp;<a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a> WITHHELD</pre>
<div class="block">The value is not divulged.
<p>The string representation is <code>"withheld"</code>.
Other properties (explanation and URI) are <code>null</code>.</p></div>
</li>
</ul>
<a id="OTHER">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>OTHER</h4>
<pre>public static final&nbsp;<a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a> OTHER</pre>
<div class="block">Other reason without explanation.
The string representation of this constant is <code>"other"</code>.
The explanation property is an empty string, and the URI is <code>null</code>.
<div class="section">Providing an explanation</div>
Users are encouraged to use the <a href="#valueOf(java.lang.String)"><code>value­Of(String)</code></a> method instead than this constant,
in order to provide a brief explanation. The string representation for <code>value­Of(…)</code>
is <code>"other:<var>explanation</var>"</code> where <var>explanation</var> is a string of
two or more characters with no included spaces.
<p>When testing if a <code>Nil­Reason</code> instance is any kind of <code>"other"</code> reason,
users should test if <code><a href="#getOtherExplanation()">get­Other­Explanation()</a> != null</code> instead
than comparing the reference against this constant.</p></div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="values()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre class="methodSignature">public static&nbsp;<a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing every instances of this type that have not yet been
garbage collected. The first elements of the returned array are the constants
defined in this class, in declaration order. All other elements are the instances
created by the <a href="#valueOf(java.lang.String)"><code>value­Of(String)</code></a> method, in no particular order.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array containing the instances of <code>Nil­Reason</code>.</dd>
</dl>
</li>
</ul>
<a id="valueOf(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>valueOf</h4>
<pre class="methodSignature">public static&nbsp;<a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a>&nbsp;valueOf&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;reason)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/net/URISyntaxException.html?is-external=true" title="class or interface in java.net" class="externalLink">URISyntaxException</a></pre>
<div class="block">Parses the given nil reason. This method accepts the following cases:
<ul>
<li>If the given argument is one of the <code>"inapplicable"</code>, <code>"missing"</code>,
<code>"template"</code>, <code>"unknown"</code>, <code>"withheld"</code> or <code>"other"</code>
strings (ignoring cases and leading/trailing spaces), then the corresponding
pre-defined constant is returned.</li>
<li>Otherwise if the given argument is <code>"other:"</code> followed by an explanation
text, then an instance for that explanation is returned. More specifically:
<ul>
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true#isSpaceChar(int)" title="class or interface in java.lang" class="externalLink">Space characters</a> and
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true#isISOControl(int)" title="class or interface in java.lang" class="externalLink">ISO controls</a> are silently omitted.</li>
<li>If the remaining string has less than two characters, then the <a href="#OTHER"><code>OTHER</code></a>
constant is returned.</li>
</ul>
</li>
<li>Otherwise this method attempts to parse the given argument as a <a href="https://docs.oracle.com/javase/8/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net" class="externalLink"><code>URI</code></a>.
Such URI should refer to a resource which describes the reason for the exception.</li>
</ul>
This method returns existing instances when possible.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reason</code> - the reason why an element is not present.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the reason as a <code>Nil­Reason</code> object.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/net/URISyntaxException.html?is-external=true" title="class or interface in java.net" class="externalLink">URISyntax­Exception</a></code> - if the given string is not one of the predefined enumeration
values and can not be parsed as a URI.</dd>
</dl>
</li>
</ul>
<a id="getOtherExplanation()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOtherExplanation</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getOtherExplanation()</pre>
<div class="block">If this <code>Nil­Reason</code> is an enumeration of kind <a href="#OTHER"><code>OTHER</code></a>, returns the explanation
text. Otherwise returns <code>null</code>. If non-null, then the explanation is a string without
whitespace.
<p>Note that in the special case where <code>this</code> nil reason is the <a href="#OTHER"><code>OTHER</code></a>
instance itself, then this method returns an empty string. For all other cases, the
string contains at least two characters.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the explanation, or <code>null</code> if this <code>Nil­Reason</code> is not of kind <a href="#OTHER"><code>OTHER</code></a>.</dd>
</dl>
</li>
</ul>
<a id="getURI()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getURI</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net" class="externalLink">URI</a>&nbsp;getURI()</pre>
<div class="block">If the explanation of this <code>Nil­Reason</code> is referenced by a URI, returns that URI.
Otherwise returns <code>null</code>. The URI and the <a href="#getOtherExplanation()">other
explanation</a> attributes are mutually exclusive.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the URI, or <code>null</code> if the explanation of this <code>Nil­Reason</code> is not referenced by a URI.</dd>
</dl>
</li>
</ul>
<a id="toString()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;toString()</pre>
<div class="block">Returns the GML string representation of this <code>Nil­Reason</code>. The returned string
is a simple enumeration value (e.g. <code>"inapplicable"</code>) if this <code>Nil­Reason</code>
is one of the predefined constants, or a string of the form <code>"other:explanation"</code>,
or a URI.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">to­String</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the GML string representation of this <code>Nil­Reason</code>.</dd>
</dl>
</li>
</ul>
<a id="hashCode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;hashCode()</pre>
<div class="block">Returns a hash code value for this <code>Nil­Reason</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hash­Code</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
</dl>
</li>
</ul>
<a id="equals(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;other)</pre>
<div class="block">Compares this <code>Nil­Reason</code> with the specified object for equality.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>other</code> - the object to compare with this <code>Nil­Reason</code>.</dd>
</dl>
</li>
</ul>
<a id="createNilObject(java.lang.Class)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createNilObject</h4>
<pre class="methodSignature">public&nbsp;&lt;T&gt;&nbsp;T&nbsp;createNilObject&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;type)</pre>
<div class="block">Returns an object of the given type which is nil for the reason represented by this instance.
The <code>type</code> argument can be one of the following cases:
<ul class="verbose">
<li>An <strong>interface</strong>: in such case, this method returns an object which implement the given
interface together with the <a href="NilObject.html" title="interface in org.apache.sis.xml"><code>Nil­Object</code></a> and <a href="../util/LenientComparable.html" title="interface in org.apache.sis.util"><code>Lenient­Comparable</code></a> interfaces:
<ul>
<li>The <a href="NilObject.html#getNilReason()"><code>Nil­Object​.get­Nil­Reason()</code></a> method will return this <code>Nil­Reason</code> instance.</li>
<li>The <code>equals(…)</code> and <code>hash­Code()</code> methods behave as documented in <a href="../util/LenientComparable.html" title="interface in org.apache.sis.util"><code>Lenient­Comparable</code></a>.</li>
<li>The <code>to­String()</code> method is unspecified (may contain debugging information).</li>
<li>All other methods return an empty collections, empty arrays, <code>null</code>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true#NaN" title="class or interface in java.lang" class="externalLink"><code>Na­N</code></a>,
<code>0</code> or <code>false</code>, in this preference order, depending on the method return type.</li>
</ul>
</li>
<li>One of <code>Boolean</code>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Byte</code></a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Short</code></a>, <code>Integer</code>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Long</code></a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Float</code></a>,
<code>Double</code> or <code>String</code> types: in such case, this method returns a specific instance which
will be recognized as "nil" by the XML marshaller.</li>
</ul></div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the compile-time type of the <code>type</code> argument.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - the object type as an <strong>interface</strong>
(usually a <a href="http://www.geoapi.org">GeoAPI</a> one) or one of the special types.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an <a href="NilObject.html" title="interface in org.apache.sis.xml"><code>Nil­Object</code></a> of the given type.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Illegal­Argument­Exception</a></code> - if the given type is not a supported type.</dd>
</dl>
</li>
</ul>
<a id="forObject(java.lang.Object)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>forObject</h4>
<pre class="methodSignature">public static&nbsp;<a href="NilReason.html" title="class in org.apache.sis.xml">NilReason</a>&nbsp;forObject&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;object)</pre>
<div class="block">If the given object is nil, returns the reason why it does not contain information.
This method performs the following choices:
<ul>
<li>If the given object implements the <a href="NilObject.html" title="interface in org.apache.sis.xml"><code>Nil­Object</code></a> interface, then this method delegates
to the <a href="NilObject.html#getNilReason()"><code>Nil­Object​.get­Nil­Reason()</code></a> method.</li>
<li>Otherwise if the given object is one of the <code>Boolean</code>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Byte</code></a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Short</code></a>, <code>Integer</code>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Long</code></a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Float</code></a>, <code>Double</code> or <code>String</code> instances returned by
<a href="#createNilObject(java.lang.Class)"><code>create­Nil­Object(Class)</code></a>, then this method returns the associated reason.</li>
<li>Otherwise this method returns <code>null</code>.</li>
</ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - the object for which to get the <code>Nil­Reason</code>, or <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the reason why the given object contains no information, or <code>null</code> if the given object is not nil.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.4</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="NilObject.html#getNilReason()"><code>Nil­Object​.get­Nil­Reason()</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/NilReason.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2010&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>