<h2>org.autoplot.hapi.HapiServer</h2><p>Utility methods for interacting with HAPI servers.</p>
<h2>HapiServer( )</h2>
<p></p>

<hr>
<a name="UTF8"></a>
<h2>UTF8</h2>
<p>all transactions must be done in UTF-8</p>

<hr>
<a name="createURL"></a>
<h2>createURL</h2>
createURL( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a> server, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> append ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a>

<p>return the URL by appending the text to the end of the server URL.  This
 avoids extra slashes, etc.</p>

<h3>Parameters</h3>
server - an URL
<br>
append - a String

<h3>Returns:</h3>
a java.net.URL

<br><br>
<a href="https://github.com/autoplot/dev/search?q=createURL&unscoped_q=createURL">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#createURL">[view on old javadoc]</a>
<br>
<br>
createURL( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a> server, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> append, <a href='https://docs.oracle.com/javase/8/docs/api/java/util/Map.html'>java.util.Map</a> singletonMap ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a><br>
<hr>
<a name="decodeURL"></a>
<h2>decodeURL</h2>
decodeURL( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a> s ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>decode the URL into a string useful in Autoplot URIs.</p>

<h3>Parameters</h3>
s - an URL

<h3>Returns:</h3>
a String

<br><br>
<a href="https://github.com/autoplot/dev/search?q=decodeURL&unscoped_q=decodeURL">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#decodeURL">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="decodeURLParameters"></a>
<h2>decodeURLParameters</h2>
decodeURLParameters( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> s ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>replace %2B with pluses and pluses with spaces.</p>

<h3>Parameters</h3>
s - a String

<h3>Returns:</h3>
a String

<br><br>
<a href="https://github.com/autoplot/dev/search?q=decodeURLParameters&unscoped_q=decodeURLParameters">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#decodeURLParameters">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="encodeURL"></a>
<h2>encodeURL</h2>
encodeURL( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> s ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a>

<p>encode the string into a URL, handling encoded characters.  Note this does 
 nothing right now, but should still be used as the one place to handle URLs.</p>

<h3>Parameters</h3>
s - a String

<h3>Returns:</h3>
a java.net.URL

<br><br>
<a href="https://github.com/autoplot/dev/search?q=encodeURL&unscoped_q=encodeURL">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#encodeURL">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="encodeURLParameters"></a>
<h2>encodeURLParameters</h2>
encodeURLParameters( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> s ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>replace pluses with %2B and spaces with pluses.</p>

<h3>Parameters</h3>
s - a String

<h3>Returns:</h3>
a String

<br><br>
<a href="https://github.com/autoplot/dev/search?q=encodeURLParameters&unscoped_q=encodeURLParameters">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#encodeURLParameters">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="getCatalog"></a>
<h2>getCatalog</h2>
getCatalog( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a> server ) &rarr; JSONArray

<p>return the list of datasets available at the server.  
 This should not be called from the event thread.</p>

<h3>Parameters</h3>
server - the root of the server, which should should contain "catalog"

<h3>Returns:</h3>
list of catalog entries, which have "id" and "title" tags.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getCatalog&unscoped_q=getCatalog">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#getCatalog">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="getCatalogIds"></a>
<h2>getCatalogIds</h2>
getCatalogIds( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a> server ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/util/List.html'>java.util.List</a>

<p>return the list of datasets available at the server.
 This should not be called from the event thread.</p>

<h3>Parameters</h3>
server - the root of the server, which should should contain "catalog"

<h3>Returns:</h3>
list of dataset ids
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getCatalogIds&unscoped_q=getCatalogIds">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#getCatalogIds">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="getDataURL"></a>
<h2>getDataURL</h2>
getDataURL( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a> server, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> id, <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/DatumRange.html'>DatumRange</a> tr, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> parameters ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a>

<p>return the URL for data requests.</p>

<h3>Parameters</h3>
server - an URL
<br>
id - string like "data4" or "spase://..."
<br>
tr - the time range
<br>
parameters - zero-length, or a comma-delineated list of parameters.

<h3>Returns:</h3>
the request, with the ID and parameters URL encoded.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getDataURL&unscoped_q=getDataURL">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#getDataURL">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="getHapiServerVersion"></a>
<h2>getHapiServerVersion</h2>
getHapiServerVersion( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a> server ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p></p>

<h3>Parameters</h3>
server - an URL

<h3>Returns:</h3>
java.lang.String

<br><br>
<a href="https://github.com/autoplot/dev/search?q=getHapiServerVersion&unscoped_q=getHapiServerVersion">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#getHapiServerVersion">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="getInfo"></a>
<h2>getInfo</h2>
getInfo( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a> server, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> id ) &rarr; JSONObject

<p>return the info as a JSONObject.
 This should not be called from the event thread.</p>

<h3>Parameters</h3>
server - HAPI server.
<br>
id - the parameter id.

<h3>Returns:</h3>
JSONObject containing information.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getInfo&unscoped_q=getInfo">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#getInfo">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="getInfoURL"></a>
<h2>getInfoURL</h2>
getInfoURL( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a> server, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> id ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a>

<p>return the URL for getting info.</p>

<h3>Parameters</h3>
server - an URL
<br>
id - a String

<h3>Returns:</h3>
a java.net.URL

<br><br>
<a href="https://github.com/autoplot/dev/search?q=getInfoURL&unscoped_q=getInfoURL">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#getInfoURL">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="getKnownServers"></a>
<h2>getKnownServers</h2>
getKnownServers(  ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/util/List.html'>java.util.List</a>

<p>get known servers.</p>

<h3>Returns:</h3>
known servers
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getKnownServers&unscoped_q=getKnownServers">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#getKnownServers">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="getKnownServersArray"></a>
<h2>getKnownServersArray</h2>
getKnownServersArray(  ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a>

<p>get known servers</p>

<h3>Returns:</h3>
known servers
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getKnownServersArray&unscoped_q=getKnownServersArray">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#getKnownServersArray">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="getParameters"></a>
<h2>getParameters</h2>
getParameters( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a> server, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> id ) &rarr; JSONArray

<p></p>

<h3>Parameters</h3>
server - an URL
<br>
id - a String

<h3>Returns:</h3>
JSONArray

<br><br>
<a href="https://github.com/autoplot/dev/search?q=getParameters&unscoped_q=getParameters">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#getParameters">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="getRange"></a>
<h2>getRange</h2>
getRange( JSONObject info ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/DatumRange.html'>DatumRange</a>

<p>return the range of available data. For example, Polar/Hydra data is available
 from 1996-03-20 to 2008-04-15.  Note this supports old schemas.</p>

<h3>Parameters</h3>
info - a JSONObject

<h3>Returns:</h3>
the range of available data.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getRange&unscoped_q=getRange">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#getRange">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="getSampleTimeRange"></a>
<h2>getSampleTimeRange</h2>
getSampleTimeRange( JSONObject info ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/DatumRange.html'>DatumRange</a>

<p>return a time which is a suitable time to discover the data.</p>

<h3>Parameters</h3>
info - a JSONObject

<h3>Returns:</h3>
a DatumRange

<br><br>
<a href="https://github.com/autoplot/dev/search?q=getSampleTimeRange&unscoped_q=getSampleTimeRange">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#getSampleTimeRange">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="listHapiServers"></a>
<h2>listHapiServers</h2>
listHapiServers(  ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/util/List.html'>java.util.List</a>

<p>add the default known servers, plus the ones we know about.  
 The zeroth server will be the last server used.
 This should not be called from the event thread.</p>

<h3>Returns:</h3>
list of server URLs.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=listHapiServers&unscoped_q=listHapiServers">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#listHapiServers">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="listHapiServersArray"></a>
<h2>listHapiServersArray</h2>
listHapiServersArray(  ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a>

<p>add the default known servers, plus the ones we know about.</p>

<h3>Returns:</h3>
list of servers
<br><br>
<a href="https://github.com/autoplot/dev/search?q=listHapiServersArray&unscoped_q=listHapiServersArray">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#listHapiServersArray">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="readFromFile"></a>
<h2>readFromFile</h2>
readFromFile( <a href='https://docs.oracle.com/javase/8/docs/api/java/io/File.html'>java.io.File</a> f ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>read the file into a string.</p>

<h3>Parameters</h3>
f - non-empty file

<h3>Returns:</h3>
String containing file contents.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=readFromFile&unscoped_q=readFromFile">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#readFromFile">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="readFromURL"></a>
<h2>readFromURL</h2>
readFromURL( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URL.html'>java.net.URL</a> url, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> type ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>read data from the URL.</p>

<h3>Parameters</h3>
url - the URL to read from
<br>
type - the extension to use for the cache file (JSON).

<h3>Returns:</h3>
non-empty string
<br><br>
<a href="https://github.com/autoplot/dev/search?q=readFromURL&unscoped_q=readFromURL">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#readFromURL">[view on old javadoc]</a>
<br>
<br>
<hr>
<a name="urlEncode"></a>
<h2>urlEncode</h2>
urlEncode( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> id ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>make sure spaces are encoded.</p>

<h3>Parameters</h3>
id - a String

<h3>Returns:</h3>
a String

<br><br>
<a href="https://github.com/autoplot/dev/search?q=urlEncode&unscoped_q=urlEncode">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/hapi/HapiServer.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/hapi/HapiServer.html#urlEncode">[view on old javadoc]</a>
<br>
<br>