<h2>org.autoplot.datasource.URISplit</h2><p>Class for containing the elemental parts of a URI, and utility
 routines for working with URIs.

 We need a working definition of well-formed and colloquial URIs:
<blockquote><pre>
 = well-formed URIs =
   <vapScheme>:<fileResource>?<params>
   <vapScheme>:[<identifier>?]<params>
   <vapScheme>:<params>
   * they are valid URIs: they contain no spaces, etc.
 == params ==
   ampersand-delimited (&) list of name=value pairs, or just value.
   vap+cdaweb:ds=ac_k0_epm&H_lo&timerange=2010-01
 = colloquial URIs =
   * these are Strings that can be converted into URIs.
   * spaces in file names are converted into %20. 
   * spaces in parameter lists are converted into pluses.
   * pluses in parameter lists are converted into %2B.
   * note that if there are pluses but the URI is valid, then pluses may be left alone. 
 </pre></blockquote>
 
 This routine knows nothing about the data source that will interpret the
 URI, so this needs to be established.</p>
<h2>URISplit( )</h2>
<p></p>

<hr>
<a name="PARAM_TIME_RANGE"></a>
<h2>PARAM_TIME_RANGE</h2>
<p>time range subset.</p>

<hr>
<a name="PARAM_TIME_RESOLUTION"></a>
<h2>PARAM_TIME_RESOLUTION</h2>
<p></p>

<hr>
<a name="PARAM_RANK2"></a>
<h2>PARAM_RANK2</h2>
<p>subset of rank 2 data.  For example, columns of excel workbook or ascii table.
 rank2=[3,5] or rank2=Bx-Bz</p>

<hr>
<a name="PARAM_REC_COUNT"></a>
<h2>PARAM_REC_COUNT</h2>
<p>used for the number of records to read.</p>

<hr>
<a name="PARAM_ARG_0"></a>
<h2>PARAM_ARG_0</h2>
<p>first positional parameter, typically interpreted the same as PARAM_ID</p>

<hr>
<a name="PARAM_ID"></a>
<h2>PARAM_ID</h2>
<p>typically the dataset id.</p>

<hr>
<a name="PARAM_FILE_POLL_UPDATES"></a>
<h2>PARAM_FILE_POLL_UPDATES</h2>
<p>some datasources support periodic checks to see if data sources have updated, such as:
   AggregatingDataSource
   AbstractDataSources (most of those based on files)</p>

<hr>
<a name="vapScheme"></a>
<h2>vapScheme</h2>
<p>scheme for Autoplot, if provided.  e.g.  vap+cdf.</p>

<hr>
<a name="scheme"></a>
<h2>scheme</h2>
<p>scheme for resource, e.g. "file" or "https"</p>

<hr>
<a name="surl"></a>
<h2>surl</h2>
<p>the complete, modified surl.   file:///home/jbf/mydata.qds
 this is the resource name, and doesn't contain the vapScheme.</p>

<hr>
<a name="resourceUri"></a>
<h2>resourceUri</h2>
<p>the resource that is handled by the DataSource.  This may be null if surl doesn't form a valid uri.</p>

<hr>
<a name="authority"></a>
<h2>authority</h2>
<p>the resource uri up to the authority, e.g. http://autoplot.org</p>

<hr>
<a name="path"></a>
<h2>path</h2>
<p>the resource uri including the path part.</p>

<hr>
<a name="file"></a>
<h2>file</h2>
<p>contains the resource string up to the query part.</p>

<hr>
<a name="ext"></a>
<h2>ext</h2>
<p>the file/resource extention, like ".cdf" or ".dat".</p>

<hr>
<a name="params"></a>
<h2>params</h2>
<p>contains the parameters part, a ampersand-delimited set of parameters. For example, column=field2&amp;rank2.</p>

<hr>
<a name="filters"></a>
<h2>filters</h2>
<p>additional processes to be applied to the URI.  For example, slice0(0) means slice the dataset at this point.</p>

<hr>
<a name="resourceUriCarotPos"></a>
<h2>resourceUriCarotPos</h2>
<p>position of the caret after modifications to the surl are made.  This
 is with respect to surl, the URI for the datasource, without the "vap" scheme.</p>

<hr>
<a name="formatCarotPos"></a>
<h2>formatCarotPos</h2>
<p>position of the caret after modifications to the surl are made.  This
 is with respect to formatted URI, which probably includes the explicit "vap:" scheme.</p>

<hr>
<a name="format"></a>
<h2>format</h2>
format( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/datasource/URISplit.html'>org.autoplot.datasource.URISplit</a> split ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>format the URI using vapScheme, file and params.  
 If file is missing but params is present, then return params:
   vap+cdaweb:ds=myds
 If file is present, then format with file and params:
   vap+cdf:file://tmp/my.cdf?myVar
 Else, just use the surl that is in there already. 
 Note if split.params is non-null, it will be appended with a question mark, even if empty.</p>

<h3>Parameters</h3>
split - an URISplit

<h3>Returns:</h3>
formatted URI.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=format&unscoped_q=format">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#format">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l916">[view source]</a>
<br>
<br>
format( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> vapScheme, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> resourceUri, <a href='https://docs.oracle.com/javase/8/docs/api/java/util/Map.html'>java.util.Map</a> args ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a><br>
<hr>
<a name="formatParams"></a>
<h2>formatParams</h2>
formatParams( <a href='https://docs.oracle.com/javase/8/docs/api/java/util/Map.html'>java.util.Map</a> parms ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>spaces and other URI syntax elements are URL-encoded.  
 Note some calls of this routine should check for an empty string result
 and then set split.params=null instead of "", to avoid the extraneous
 question mark.</p>

<h3>Parameters</h3>
parms - a java.util.Map

<h3>Returns:</h3>
"" or the parameters delimited by ampersands.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=formatParams&unscoped_q=formatParams">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#formatParams">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l880">[view source]</a>
<br>
<br>
<hr>
<a name="getParam"></a>
<h2>getParam</h2>
getParam( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> surl, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> deft ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>convenient method for getting a parameter in the URI.</p>

<h3>Parameters</h3>
surl - a String
<br>
name - parameter name.
<br>
deft - default value if the parameter is not found.

<h3>Returns:</h3>
a String

<br><br>
<a href="https://github.com/autoplot/dev/search?q=getParam&unscoped_q=getParam">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#getParam">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l474">[view source]</a>
<br>
<br>
<hr>
<a name="guardedSplit"></a>
<h2>guardedSplit</h2>
guardedSplit( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> s, char delim, char exclude1, char exclude2 ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a>

<p>only split on the delimiter when we are not within the exclude delimiters.  For example,
 <code>
 x=getDataSet("http://autoplot.org/data/autoplot.cdf?Magnitude&noDep=T")&y=getDataSet('http://autoplot.org/data/autoplot.cdf?BGSEc&slice1=2')&sqrt(x)
 </code></p>

<h3>Parameters</h3>
s - the string to split.
<br>
delim - the delimiter to split on, for example the ampersand (&).
<br>
exclude1 - for example the single quote (')
<br>
exclude2 - for example the double quote (")  Note URIs don't support these anyway.

<h3>Returns:</h3>
the split.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=guardedSplit&unscoped_q=guardedSplit">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#guardedSplit">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l509">[view source]</a>
<br>
<br>
<hr>
<a name="implicitVapScheme"></a>
<h2>implicitVapScheme</h2>
implicitVapScheme( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/datasource/URISplit.html'>org.autoplot.datasource.URISplit</a> split ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>return the vap scheme in split.vapScheme or the one inferred by the 
 extension.  Returns an empty string (not "vap") if one cannot be inferred.
 e.g:
    /home/jbf/myfile.jyds --> vap+jyds
    vap+txt:/home/jbf/myfile.csv --> vap+txt
 This was introduced as part of the effort to get rid of extraneous "vap:"s
 that would be added to URIs.</p>

<h3>Parameters</h3>
split - an URISplit

<h3>Returns:</h3>
the vap scheme or empty string.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=implicitVapScheme&unscoped_q=implicitVapScheme">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#implicitVapScheme">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l426">[view source]</a>
<br>
<br>
<hr>
<a name="isUriEncoded"></a>
<h2>isUriEncoded</h2>
isUriEncoded( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> surl ) &rarr; boolean

<p>We need a standard way to detect if a string has already been URL encoded.
 The problem is we want valid URIs that are also readable, so just using
 simple encode/decode logic is not practical.

 This means:<ul>
 <li> no spaces
 <li> contains %[0-9][0-9]
 </ul></p>

<h3>Parameters</h3>
surl - the URI

<h3>Returns:</h3>
true if it appears to be encoded.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=isUriEncoded&unscoped_q=isUriEncoded">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#isUriEncoded">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l987">[view source]</a>
<br>
<br>
<hr>
<a name="makeAbsolute"></a>
<h2>makeAbsolute</h2>
makeAbsolute( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> path, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> suri ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>ensure that the reference, which may be relative, is absolute.
 NOTE this is only implemented for unix filenames. TODO: Windows.
 For example:<ul>
 <li>/tmp/,foo.dat &rarr; /home/t/foo.dat
 <li>/tmp/,/home/jbf/foo.dat &rarr; /home/jbf/foo.dat
 </ul></p>

<h3>Parameters</h3>
path - the absolute directory.
<br>
suri - the URI, which may be relative to path.

<h3>Returns:</h3>
the absolute path
<br><br>
<a href="https://github.com/autoplot/dev/search?q=makeAbsolute&unscoped_q=makeAbsolute">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#makeAbsolute">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l165">[view source]</a>
<br>
<br>
<hr>
<a name="makeCanonical"></a>
<h2>makeCanonical</h2>
makeCanonical( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> suri ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>make the URI canonical, with the vap+&lt;ext&gt;: prefix. 
 This will also now sort the parameters, when this can be done.</p>

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

<h3>Returns:</h3>
"vap+cdf:file:///tmp/x.cdf"
<br><br>
<a href="https://github.com/autoplot/dev/search?q=makeCanonical&unscoped_q=makeCanonical">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#makeCanonical">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l99">[view source]</a>
<br>
<br>
<hr>
<a name="makeColloquial"></a>
<h2>makeColloquial</h2>
makeColloquial( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> suri ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>make the URI colloquial, e.g. removing "vap+cdf:" from "vap+cdf:file:///tmp/x.cdf"
 URIs that do not have a resource URI are left alone.</p>

<h3>Parameters</h3>
suri - a URI

<h3>Returns:</h3>
the URI, more colloquial and readable.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=makeColloquial&unscoped_q=makeColloquial">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#makeColloquial">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l134">[view source]</a>
<br>
<br>
<hr>
<a name="maybeAddFile"></a>
<h2>maybeAddFile</h2>
maybeAddFile( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> surl, int caretPos ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/datasource/URISplit.html'>org.autoplot.datasource.URISplit</a>

<p>add "file:/" to a resource string that appears to reference the local filesystem.
 return the parsed string, or null if the string doesn't appear to be from a file.</p>

<h3>Parameters</h3>
surl - a String
<br>
caretPos - an int

<h3>Returns:</h3>
null or the URISplit
<br><br>
<a href="https://github.com/autoplot/dev/search?q=maybeAddFile&unscoped_q=maybeAddFile">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#maybeAddFile">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l261">[view source]</a>
<br>
<br>
<hr>
<a name="parse"></a>
<h2>parse</h2>
parse( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URI.html'>java.net.URI</a> uri ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/datasource/URISplit.html'>org.autoplot.datasource.URISplit</a>

<p>added to avoid widespread use of parse(uri.toString).  This way its all being done with same code,
 and keep the URI abstraction.</p>

<h3>Parameters</h3>
uri - an URI

<h3>Returns:</h3>
an org.autoplot.datasource.URISplit

<br><br>
<a href="https://github.com/autoplot/dev/search?q=parse&unscoped_q=parse">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#parse">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l390">[view source]</a>
<br>
<br>
parse( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> suri ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/datasource/URISplit.html'>org.autoplot.datasource.URISplit</a><br>
parse( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> surl, int caretPos, boolean normalize ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/autoplot/datasource/URISplit.html'>org.autoplot.datasource.URISplit</a><br>
<hr>
<a name="parseParams"></a>
<h2>parseParams</h2>
parseParams( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> params ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/util/LinkedHashMap.html'>java.util.LinkedHashMap</a>

<p>Split the parameters (if any) into name,value pairs. URLEncoded parameters are decoded, but the string may be decoded 
 already.  Items without equals (=) are inserted as "arg_N"=name.</p>

<h3>Parameters</h3>
params - null or String containing the list of ampersand-delimited parameters.

<h3>Returns:</h3>
the map, which will be empty when there are no params.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=parseParams&unscoped_q=parseParams">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#parseParams">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l825">[view source]</a>
<br>
<br>
<hr>
<a name="parseTimeRange"></a>
<h2>parseTimeRange</h2>
parseTimeRange( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> uri ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/DatumRange.html'>DatumRange</a>

<p>Helper method to get the timerange from the URI</p>

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

<h3>Returns:</h3>
the DatumRange if "timerange=" is found, or null if not.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=parseTimeRange&unscoped_q=parseTimeRange">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#parseTimeRange">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l1064">[view source]</a>
<br>
<br>
<hr>
<a name="putParam"></a>
<h2>putParam</h2>
putParam( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> surl, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> value ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>convenient method for adding or replacing a parameter to the URI.</p>

<h3>Parameters</h3>
surl - any URI or web address
<br>
name - the parameter name to add
<br>
value - the parameter value to add

<h3>Returns:</h3>
the uri with the question mark and parameter added.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=putParam&unscoped_q=putParam">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#putParam">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l458">[view source]</a>
<br>
<br>
<hr>
<a name="removeParam"></a>
<h2>removeParam</h2>
removeParam( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> surl, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a> parm ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>convenient method to remove a parameter (or parameters) from the list of parameters</p>

<h3>Parameters</h3>
surl - any URI or web address
<br>
parm - the name to remove

<h3>Returns:</h3>
the URI with the parameter removed, and the question mark removed when no parameters remain.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=removeParam&unscoped_q=removeParam">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#removeParam">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l438">[view source]</a>
<br>
<br>
<hr>
<a name="setOtherSchemes"></a>
<h2>setOtherSchemes</h2>
setOtherSchemes( <a href='https://docs.oracle.com/javase/8/docs/api/java/util/List.html'>java.util.List</a> otherSchemes ) &rarr; void

<p>allow parsing of script:, bookmarks:, pngwalk:, etc</p>

<h3>Parameters</h3>
otherSchemes - a java.util.List

<h3>Returns:</h3>
void (returns nothing)

<br><br>
<a href="https://github.com/autoplot/dev/search?q=setOtherSchemes&unscoped_q=setOtherSchemes">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#setOtherSchemes">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l250">[view source]</a>
<br>
<br>
<hr>
<a name="toString"></a>
<h2>toString</h2>
toString(  ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p></p>

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

<br><br>
<a href="https://github.com/autoplot/dev/search?q=toString&unscoped_q=toString">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#toString">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l1077">[view source]</a>
<br>
<br>
<hr>
<a name="uriDecode"></a>
<h2>uriDecode</h2>
uriDecode( <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>convert "+" to " ", etc, by using URLDecoder and catching the UnsupportedEncodingException that will never occur.
 We have to be careful for elements like %Y than are
 not to be decoded.
 TODO: we need to use standard escape/unescape code, possibly changing %Y to $Y beforehand.</p>

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

<h3>Returns:</h3>
a String

<br><br>
<a href="https://github.com/autoplot/dev/search?q=uriDecode&unscoped_q=uriDecode">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#uriDecode">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l1033">[view source]</a>
<br>
<br>
<hr>
<a name="uriEncode"></a>
<h2>uriEncode</h2>
uriEncode( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> surl ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>convert " " to "%20", etc, by looking for and encoding illegal characters.
 We can't just aggressively convert...</p>

<h3>Parameters</h3>
surl - the URI

<h3>Returns:</h3>
the URL-encoded URI
<br><br>
<a href="https://github.com/autoplot/dev/search?q=uriEncode&unscoped_q=uriEncode">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/datasource/URISplit.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/datasource/URISplit.html#uriEncode">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/DataSource/src/org/autoplot/datasource/URISplit.java#l1002">[view source]</a>
<br>
<br>