blob: 0d82566cb18e5775b7d84e1fe15f3871c954d5e8 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (19) -->
<title>ProbeResult (Apache SIS 1.3 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.sis.storage, class: ProbeResult">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="org.apache.sis.storage.ProbeResult class">
<meta name="keywords" content="SUPPORTED">
<meta name="keywords" content="UNSUPPORTED_STORAGE">
<meta name="keywords" content="INSUFFICIENT_BYTES">
<meta name="keywords" content="UNDETERMINED">
<meta name="keywords" content="isSupported()">
<meta name="keywords" content="getMimeType()">
<meta name="keywords" content="getVersion()">
<meta name="keywords" content="hashCode()">
<meta name="keywords" content="equals()">
<meta name="keywords" content="toString()">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../sis.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="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="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/ProbeResult.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#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="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.storage</a></div>
<h1 title="Class ProbeResult" class="title">Class ProbeResult</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
<div class="inheritance">ProbeResult</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ProbeResult</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></span></div>
<div class="block">Tells whether a storage (file, database) appears to be supported by a <code>Data­Store</code>.
<code>Probe­Result</code> may also provide additional information, like file MIME type and the
format version.
<h2>Usage</h2>
When a <a href="DataStores.html#open(java.lang.Object)"><code>Data­Stores​.open(…)</code></a> method is invoked, SIS will iterate over the list of known
providers and invoke the <a href="DataStoreProvider.html#probeContent(org.apache.sis.storage.StorageConnector)"><code>Data­Store­Provider​.probe­Content(Storage­Connector)</code></a> method for each of them.
The <code>Probe­Result</code> value returned by <code>probe­Content(…)</code> tells to SIS whether a particular
<code>Data­Store­Provider</code> instance has reasonable chances to be able to handle the given storage.
<p>Whether a storage appears to be supported or not is given by the <a href="#isSupported()"><code>is­Supported()</code></a> property.
Other properties like <a href="#getVersion()"><code>get­Version()</code></a> are sometimes available for both supported and unsupported storages.
For example, a file may be encoded in a known format, but may be using an unsupported version of that format.</p>
<h2>Special values</h2>
In addition to the supported/unsupported information, <code>Probe­Result</code> defines two constants having
a special meaning: <a href="#INSUFFICIENT_BYTES"><code>INSUFFICIENT_BYTES</code></a> and <a href="#UNDETERMINED"><code>UNDETERMINED</code></a>, which indicate that the provider does
not have enough information for telling whether the storage can be opened.
In such cases, SIS will revisit those providers only if no better suited provider is found.</div>
<dl class="notes">
<dt>Since:</dt>
<dd>0.4</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="DataStoreProvider.html#probeContent(org.apache.sis.storage.StorageConnector)"><code>Data­Store­Provider​.probe­Content(Storage­Connector)</code></a></li>
<li><a href="../../../../serialized-form.html#org.apache.sis.storage.ProbeResult">Serialized Form</a></li>
</ul>
</dd>
<p><font size="-1">Defined in the <code>sis-storage</code> module</font></p>
</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>static final <a href="ProbeResult.html" title="class in org.apache.sis.storage">Probe­Result</a></code></div>
<div class="col-second even-row-color"><code><a href="#INSUFFICIENT_BYTES" class="member-name-link">INSUFFICIENT_BYTES</a></code></div>
<div class="col-last even-row-color">
<div class="block">The open capability cannot be determined because the <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link"><code>Byte­Buffer</code></a> contains an insufficient
amount of bytes.</div>
</div>
<div class="col-first odd-row-color"><code>static final <a href="ProbeResult.html" title="class in org.apache.sis.storage">Probe­Result</a></code></div>
<div class="col-second odd-row-color"><code><a href="#SUPPORTED" class="member-name-link">SUPPORTED</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The <code>Data­Store­Provider</code> recognizes the given storage, but has no additional information.</div>
</div>
<div class="col-first even-row-color"><code>static final <a href="ProbeResult.html" title="class in org.apache.sis.storage">Probe­Result</a></code></div>
<div class="col-second even-row-color"><code><a href="#UNDETERMINED" class="member-name-link">UNDETERMINED</a></code></div>
<div class="col-last even-row-color">
<div class="block">The open capability cannot be determined.</div>
</div>
<div class="col-first odd-row-color"><code>static final <a href="ProbeResult.html" title="class in org.apache.sis.storage">Probe­Result</a></code></div>
<div class="col-second odd-row-color"><code><a href="#UNSUPPORTED_STORAGE" class="member-name-link">UNSUPPORTED_STORAGE</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The <code>Data­Store­Provider</code> does not recognize the given storage object, file format or database schema.</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(boolean,java.lang.String,org.apache.sis.util.Version)" class="member-name-link">Probe­Result</a><wbr>(boolean&nbsp;is­Supported,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;mime­Type,
<a href="../util/Version.html" title="class in org.apache.sis.util">Version</a>&nbsp;version)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a new <code>Probe­Result</code> with the given support status, MIME type and version number.</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-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="#equals(java.lang.Object)" class="member-name-link">equals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/16/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 this <code>Probe­Result</code> with the given object for equality.</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/16/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 odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMimeType()" class="member-name-link">get­Mime­Type</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 MIME type of the storage file format, or <code>null</code> if unknown or not applicable.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../util/Version.html" title="class in org.apache.sis.util">Version</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getVersion()" class="member-name-link">get­Version</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 version of file format or database schema used by the storage,
or <code>null</code> if unknown or not applicable.</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="#hashCode()" class="member-name-link">hash­Code</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 hash code value for this instance.</div>
</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="#isSupported()" class="member-name-link">is­Supported</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 <code>true</code> if the storage is supported by the <code>Data­Store­Provider</code>.</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/16/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 odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">to­String</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 string representation of this <code>Probe­Result</code> for debugging purpose.</div>
</div>
</div>
</div>
</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/16/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/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/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/16/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/16/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/16/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/16/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/16/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/16/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="SUPPORTED">
<h3>SUPPORTED</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></span>&nbsp;<span class="element-name">SUPPORTED</span></div>
<div class="block">The <code>Data­Store­Provider</code> recognizes the given storage, but has no additional information.
The <a href="#isSupported()"><code>is­Supported()</code></a> method returns <code>true</code>, but the <a href="#getMimeType()">MIME type</a>
and <a href="#getVersion()">version</a> properties are <code>null</code>.
<p><a href="DataStoreProvider.html#probeContent(org.apache.sis.storage.StorageConnector)"><code>Data­Store­Provider​.probe­Content(Storage­Connector)</code></a> implementations should consider returning a
<a href="#%3Cinit%3E(boolean,java.lang.String,org.apache.sis.util.Version)">new instance</a> instead of this constant
if they can provide the file MIME type or the format version number.</p></div>
</section>
</li>
<li>
<section class="detail" id="UNSUPPORTED_STORAGE">
<h3>UNSUPPORTED_STORAGE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></span>&nbsp;<span class="element-name">UNSUPPORTED_STORAGE</span></div>
<div class="block">The <code>Data­Store­Provider</code> does not recognize the given storage object, file format or database schema.
No other information is available: the <a href="#isSupported()"><code>is­Supported()</code></a> method returns <code>false</code>, and the
<a href="#getMimeType()">MIME type</a> and <a href="#getVersion()">version</a> properties are <code>null</code>.
<p>Examples:</p>
<ul>
<li>The storage is a file while the provider expected a database connection (or conversely).</li>
<li>The file does not contains the expected magic number.</li>
<li>The database schema does not contain the expected tables.</li>
</ul>
<a href="DataStoreProvider.html#probeContent(org.apache.sis.storage.StorageConnector)"><code>Data­Store­Provider​.probe­Content(Storage­Connector)</code></a> implementations should consider returning a
<a href="#%3Cinit%3E(boolean,java.lang.String,org.apache.sis.util.Version)">new instance</a> instead of this constant
if the <code>Data­Store­Provider</code> recognizes the given storage, but the data are structured
according a file or schema version not yet supported by the current implementation.</div>
</section>
</li>
<li>
<section class="detail" id="INSUFFICIENT_BYTES">
<h3>INSUFFICIENT_BYTES</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></span>&nbsp;<span class="element-name">INSUFFICIENT_BYTES</span></div>
<div class="block">The open capability cannot be determined because the <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link"><code>Byte­Buffer</code></a> contains an insufficient
amount of bytes. This value can be returned by <a href="DataStoreProvider.html#probeContent(org.apache.sis.storage.StorageConnector)"><code>Data­Store­Provider​.probe­Content(Storage­Connector)</code></a>
implementations as below:
<blockquote><pre><font color="green">public</font> ProbeResult <b>probeContent</b>(StorageConnector storage) <font color="green">throws</font> DataStoreException {
<font color="green">final</font> ByteBuffer buffer = storage.<b>getStorageAs</b>(ByteBuffer.<font color="green">class</font>);
<font color="green">if</font> (buffer == <font color="green">null</font>) {
<font color="green">return</font> ProbeResult.UNSUPPORTED_STORAGE;
}
<font color="green">if</font> (buffer.<b>remaining</b>() &lt; Integer.BYTES) {
<font color="green">return</font> ProbeResult.INSUFFICIENT_BYTES;
}
<i><font color="gray">// Other verifications here.</font></i>
}</pre></blockquote>
When searching for a provider capable to read a given file,
if at least one <code>Data­Store­Provider</code> returns <code>INSUFFICIENT_BYTES</code>, then:
<ol>
<li>SIS will continue to search for another provider for which <code>probe­Content(…)</code>
declares to support the storage, using only the available bytes.</li>
<li>Only if no such provider can be found, then SIS will fetch more bytes and query again
the providers that returned <code>INSUFFICIENT_BYTES</code> in the previous iteration.</li>
</ol>
SIS tries to work with available bytes before to ask more in order to reduce latencies on network connections.</div>
</section>
</li>
<li>
<section class="detail" id="UNDETERMINED">
<h3>UNDETERMINED</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="ProbeResult.html" title="class in org.apache.sis.storage">ProbeResult</a></span>&nbsp;<span class="element-name">UNDETERMINED</span></div>
<div class="block">The open capability cannot be determined.
This value may be returned by <code>Data­Store</code> implementations that could potentially open anything,
for example the RAW image format.
<p><strong>This is a last resort value!</strong> <code>probe­Content(…)</code> implementations are strongly encouraged
to return a more accurate enumeration value for allowing <a href="DataStores.html#open(java.lang.Object)"><code>Data­Stores​.open(Object)</code></a> to perform a better
choice. Generally, this value should be returned only by the RAW image format.</p></div>
</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;(boolean,java.lang.String,org.apache.sis.util.Version)">
<h3>ProbeResult</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ProbeResult</span><wbr><span class="parameters">(boolean&nbsp;isSupported,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;mimeType,
<a href="../util/Version.html" title="class in org.apache.sis.util">Version</a>&nbsp;version)</span></div>
<div class="block">Creates a new <code>Probe­Result</code> with the given support status, MIME type and version number.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>is­Supported</code> - <code>true</code> if the storage is supported by the <a href="DataStoreProvider.html" title="class in org.apache.sis.storage"><code>Data­Store­Provider</code></a>.</dd>
<dd><code>mime­Type</code> - the storage MIME type, or <code>null</code> if unknown or not applicable.</dd>
<dd><code>version</code> - the version of file format or database schema used by the storage,
or <code>null</code> if unknown or not applicable.</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="isSupported()">
<h3>isSupported</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isSupported</span>()</div>
<div class="block">Returns <code>true</code> if the storage is supported by the <code>Data­Store­Provider</code>.
<code>Data­Store</code> instances created by that provider are likely (but not guaranteed)
to be able to read from - and eventually write to - the given storage.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd><code>true</code> if the storage is supported by the <a href="DataStoreProvider.html" title="class in org.apache.sis.storage"><code>Data­Store­Provider</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getMimeType()">
<h3>getMimeType</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/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">getMimeType</span>()</div>
<div class="block">Returns the MIME type of the storage file format, or <code>null</code> if unknown or not applicable.
The <a href="DataStoreProvider.html" title="class in org.apache.sis.storage"><code>Data­Store­Provider</code></a> may (at implementation choice) inspect the storage content for
determining a more accurate MIME type.
<h4>XML types</h4>
A generic MIME type for XML documents is <code>"application/xml"</code>.
However, many other MIME types exist for XML documents compliant to some particular shema.
Those types can be determined by inspecting the namespace of XML root element.
The following table gives some example:
<table class="sis">
<caption>MIME type examples</caption>
<tr><th>MIME type</th> <th>Description</th> <th>Namespace</th></tr>
<tr><td><code>"application/gml+xml"</code></td> <td>Official mime type for OGC GML</td> <td><a href="../xml/Namespaces.html#GML">"http://www.opengis.net/gml/3.2"</a></td></tr>
<tr><td><code>"application/vnd.eu.europa.ec.inspire.resource+xml"</code></td> <td>Official mime type for INSPIRE Resources</td> <td></td></tr>
<tr><td><code>"application/vnd.iso.19139+xml"</code></td> <td>Unofficial mime type for ISO 19139 metadata</td> <td><a href="../xml/Namespaces.html#GMD">"http://www.isotc211.org/2005/gmd"</a></td></tr>
<tr><td><code>"application/vnd.ogc.wms_xml"</code></td> <td>Unofficial mime type for OGC WMS</td> <td></td></tr>
<tr><td><code>"application/vnd.ogc.wfs_xml"</code></td> <td>Unofficial mime type for OGC WFS </td> <td></td></tr>
<tr><td><code>"application/vnd.ogc.csw_xml"</code></td> <td>Unofficial mime type for OGC CSW</td> <td><a href="../xml/Namespaces.html#CSW">"http://www.opengis.net/cat/csw/3.0"</a></td></tr>
<tr><td><code>"application/vnd.google-earth.kml+xml"</code></td> <td></td><td></td></tr>
<tr><td><code>"application/rdf+xml"</code></td> <td></td><td></td></tr>
<tr><td><code>"application/soap+xml"</code></td> <td></td><td></td></tr>
</table></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the storage MIME type, or <code>null</code> if unknown or not applicable.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getVersion()">
<h3>getVersion</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../util/Version.html" title="class in org.apache.sis.util">Version</a></span>&nbsp;<span class="element-name">getVersion</span>()</div>
<div class="block">Returns the version of file format or database schema used by the storage,
or <code>null</code> if unknown or not applicable.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the version of file format or database schema used by the storage,
or <code>null</code> if unknown or not applicable.</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 code value for this instance.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/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/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="equals(java.lang.Object)">
<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/16/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 this <code>Probe­Result</code> with the given object for equality.
Two <code>Probe­Result</code>s are equal if they are instances of the same class
and all their properties are equal.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/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/16/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 with this <code>Probe­Result</code>.</dd>
<dt>Returns:</dt>
<dd><code>true</code> if the two objects are equal.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/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">toString</span>()</div>
<div class="block">Returns a string representation of this <code>Probe­Result</code> for debugging purpose.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">to­String</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2010&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>