java/javadoc/ch/wlkl/wsh/Cat.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_05) on Sat Jul 22 13:32:41 CEST 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Cat</title>
<meta name="date" content="2017-07-22">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Cat";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":9,"i5":10,"i6":9,"i7":9,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":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";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Cat.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-files/index-1.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../ch/wlkl/wsh/Buf.html" title="class in ch.wlkl.wsh"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../ch/wlkl/wsh/Compiler.html" title="class in ch.wlkl.wsh"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?ch/wlkl/wsh/Cat.html" target="_top">Frames</a></li>
<li><a href="Cat.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></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>
</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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">ch.wlkl.wsh</div>
<h2 title="Class Cat" class="title">Class Cat&lt;T&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../ch/wlkl/wsh/Top.html" title="class in ch.wlkl.wsh">ch.wlkl.wsh.Top</a></li>
<li>
<ul class="inheritance">
<li>ch.wlkl.wsh.Cat&lt;T&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh">OpenClose</a>, <a href="../../../ch/wlkl/wsh/Read.html" title="interface in ch.wlkl.wsh">Read</a>&lt;T&gt;, <a href="../../../ch/wlkl/wsh/Write.html" title="interface in ch.wlkl.wsh">Write</a>&lt;T&gt;</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">Cat&lt;T&gt;</span>
extends <a href="../../../ch/wlkl/wsh/Top.html" title="class in ch.wlkl.wsh">Top</a>
implements <a href="../../../ch/wlkl/wsh/Read.html" title="interface in ch.wlkl.wsh">Read</a>&lt;T&gt;, <a href="../../../ch/wlkl/wsh/Write.html" title="interface in ch.wlkl.wsh">Write</a>&lt;T&gt;</pre>
<div class="block">Cat creates <a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh"><code>OpenClose</code></a> from a specification or manages a list of <a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh"><code>OpenClose</code></a> for concatenated reading or writing:
 <ul>
 <li><a href="../../../ch/wlkl/wsh/Cat.html#make-java.lang.String-java.lang.Object-"><code>make(String, Object)</code></a> creates an <a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh"><code>OpenClose</code></a> from a specification
 <li> an instance of Cat contains a list of <a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh"><code>OpenClose</code></a>. When opened for read, it reads one after the other. When opened for writes may be interpersed with addIO. open and close options may vary for each member in the list.
 </ul></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static char</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#eBufVar">eBufVar</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static char</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#eContinue">eContinue</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static char</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#eExtFD">eExtFD</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#eExtFDStr">eExtFDStr</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static char</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#eNoOpenClose">eNoOpenClose</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static char</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#eObject">eObject</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.ch.wlkl.wsh.Top">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;ch.wlkl.wsh.<a href="../../../ch/wlkl/wsh/Top.html" title="class in ch.wlkl.wsh">Top</a></h3>
<code><a href="../../../ch/wlkl/wsh/Top.html#emptyStrings">emptyStrings</a>, <a href="../../../ch/wlkl/wsh/Top.html#trace">trace</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#Cat--">Cat</a></span>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#Cat-java.lang.Object...-">Cat</a></span>(java.lang.Object...&nbsp;args)</code>
<div class="block">return a new Cat as the concatenation of args, using <a href="../../../ch/wlkl/wsh/Cat.html#reset-java.lang.Object...-"><code>reset(Object[])</code></a></div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<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="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#addIO-java.lang.Object...-">addIO</a></span>(java.lang.Object...&nbsp;args)</code>
<div class="block">add further pairs of option, specification to the lists of this Cat.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#close--">close</a></span>()</code>
<div class="block">close the receiver.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#lazyClose-ch.wlkl.wsh.Env-">lazyClose</a></span>(<a href="../../../ch/wlkl/wsh/Env.html" title="class in ch.wlkl.wsh">Env</a>&lt;?,?&gt;&nbsp;lazy)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh">OpenClose</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#make-java.lang.String-java.lang.Object-">make</a></span>(java.lang.String&nbsp;opt,
    java.lang.Object&nbsp;obj)</code>
<div class="block">return a newly created OpenClose derived from argument String fn.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static <a href="../../../ch/wlkl/wsh/Read.html" title="interface in ch.wlkl.wsh">Read</a>&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#makeRead-java.lang.String-java.lang.Object-">makeRead</a></span>(java.lang.String&nbsp;opt,
        java.lang.Object&nbsp;o)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#nextReader--">nextReader</a></span>()</code>
<div class="block">close the current reader and open the next one</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#normalizeOpt-char-java.lang.Object-">normalizeOpt</a></span>(char&nbsp;fun,
            java.lang.Object&nbsp;arg)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh">OpenClose</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#open-char-java.lang.String-ch.wlkl.wsh.OpenClose-">open</a></span>(char&nbsp;fun,
    java.lang.String&nbsp;opt,
    <a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh">OpenClose</a>&nbsp;oc)</code>
<div class="block">open oc with option opt, if opt does not contain a - (<a href="../../../ch/wlkl/wsh/Cat.html#eNoOpenClose"><code>eNoOpenClose</code></a></div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#open-java.lang.String-">open</a></span>(java.lang.String&nbsp;opt)</code>
<div class="block">open the receiver.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../ch/wlkl/wsh/Cat.html" title="type parameter in Cat">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#read--">read</a></span>()</code>
<div class="block">read and return the next line.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#reset-java.lang.Object...-">reset</a></span>(java.lang.Object...&nbsp;args)</code>
<div class="block">reset the receiver, initialise the list with args using <a href="../../../ch/wlkl/wsh/Cat.html#writeAll-java.lang.String-ch.wlkl.wsh.Read-"><code>writeAll(String, Read)</code></a></div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#write-T-">write</a></span>(<a href="../../../ch/wlkl/wsh/Cat.html" title="type parameter in Cat">T</a>&nbsp;line)</code>
<div class="block">open the concatenation, if args is nonEmpty they define the concatentation of readers.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#writeAll-java.lang.String-ch.wlkl.wsh.Read-">writeAll</a></span>(java.lang.String&nbsp;opt,
        <a href="../../../ch/wlkl/wsh/Read.html" title="interface in ch.wlkl.wsh">Read</a>&lt;<a href="../../../ch/wlkl/wsh/Cat.html" title="type parameter in Cat">T</a>&gt;&nbsp;r)</code>
<div class="block">write the contents of reader to the receiver.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static &lt;W&gt;&nbsp;void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../ch/wlkl/wsh/Cat.html#writeAll-ch.wlkl.wsh.Write-java.lang.String-ch.wlkl.wsh.Read-">writeAll</a></span>(<a href="../../../ch/wlkl/wsh/Write.html" title="interface in ch.wlkl.wsh">Write</a>&lt;W&gt;&nbsp;w,
        java.lang.String&nbsp;opt,
        <a href="../../../ch/wlkl/wsh/Read.html" title="interface in ch.wlkl.wsh">Read</a>&lt;W&gt;&nbsp;r)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.ch.wlkl.wsh.Top">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;ch.wlkl.wsh.<a href="../../../ch/wlkl/wsh/Top.html" title="class in ch.wlkl.wsh">Top</a></h3>
<code><a href="../../../ch/wlkl/wsh/Top.html#fail-java.lang.String-">fail</a>, <a href="../../../ch/wlkl/wsh/Top.html#name-java.lang.Object-">name</a>, <a href="../../../ch/wlkl/wsh/Top.html#nameCnt-int-">nameCnt</a>, <a href="../../../ch/wlkl/wsh/Top.html#say-java.lang.String-">say</a>, <a href="../../../ch/wlkl/wsh/Top.html#sFail-java.lang.Object-java.lang.String-">sFail</a>, <a href="../../../ch/wlkl/wsh/Top.html#sFail-java.lang.String-">sFail</a>, <a href="../../../ch/wlkl/wsh/Top.html#sSay-java.lang.Object-java.lang.String-">sSay</a>, <a href="../../../ch/wlkl/wsh/Top.html#sSay-java.lang.String-">sSay</a>, <a href="../../../ch/wlkl/wsh/Top.html#sTrc-java.lang.Object-java.lang.String-">sTrc</a>, <a href="../../../ch/wlkl/wsh/Top.html#sTrc-java.lang.String-">sTrc</a>, <a href="../../../ch/wlkl/wsh/Top.html#toString--">toString</a>, <a href="../../../ch/wlkl/wsh/Top.html#trc-java.lang.String-">trc</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="eNoOpenClose">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>eNoOpenClose</h4>
<pre>public static final&nbsp;char eNoOpenClose</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#ch.wlkl.wsh.Cat.eNoOpenClose">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="eContinue">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>eContinue</h4>
<pre>public static final&nbsp;char eContinue</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#ch.wlkl.wsh.Cat.eContinue">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="eObject">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>eObject</h4>
<pre>public static final&nbsp;char eObject</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#ch.wlkl.wsh.Cat.eObject">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="eExtFD">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>eExtFD</h4>
<pre>public static final&nbsp;char eExtFD</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#ch.wlkl.wsh.Cat.eExtFD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="eExtFDStr">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>eExtFDStr</h4>
<pre>public static final&nbsp;java.lang.String eExtFDStr</pre>
</li>
</ul>
<a name="eBufVar">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>eBufVar</h4>
<pre>public static final&nbsp;char eBufVar</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../constant-values.html#ch.wlkl.wsh.Cat.eBufVar">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="Cat--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Cat</h4>
<pre>public&nbsp;Cat()</pre>
</li>
</ul>
<a name="Cat-java.lang.Object...-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Cat</h4>
<pre>public&nbsp;Cat(java.lang.Object...&nbsp;args)</pre>
<div class="block">return a new Cat as the concatenation of args, using <a href="../../../ch/wlkl/wsh/Cat.html#reset-java.lang.Object...-"><code>reset(Object[])</code></a></div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="make-java.lang.String-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>make</h4>
<pre>public static&nbsp;<a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh">OpenClose</a>&nbsp;make(java.lang.String&nbsp;opt,
                             java.lang.Object&nbsp;obj)</pre>
<div class="block">return a newly created OpenClose derived from argument String fn.
 <ul>
 <li> if opt starts with # <a href="../../../ch/wlkl/wsh/Cat.html#eBufVar"><code>eBufVar</code></a> and obj is not defined in the variable pool, return a new <a href="../../../ch/wlkl/wsh/Buf.html" title="class in ch.wlkl.wsh"><code>Buf</code></a> after putting in the variable pool and opening it with argument opt.
 <li> if opt starts with # <a href="../../../ch/wlkl/wsh/Cat.html#eBufVar"><code>eBufVar</code></a> and obj is defined in the variable pool, return its value from the variable pool after opening it with argument opt.
 <li> if opt starts with &amp; <a href="../../../ch/wlkl/wsh/Cat.html#eExtFD"><code>eExtFD</code></a> return an external FD reader/writer using <code>ExtFD.ExtFD(Object[])</code>.
 <li> otherwise if opt is a String return a <a href="../../../ch/wlkl/wsh/FileRW.html" title="class in ch.wlkl.wsh"><code>FileRW</code></a> using <a href="../../../ch/wlkl/wsh/FileRW.html#FileRW-java.lang.String-"><code>FileRW.FileRW(String)</code></a>rn
 <li> otherwise if opt contains a ? <a href="../../../ch/wlkl/wsh/Cat.html#eObject"><code>eObject</code></a> return
 <ul><li>obj, if obj is instanceof <a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh"><code>OpenClose</code></a>.</ul>
 <li><a href="../../../ch/wlkl/wsh/Buf.html#Buf-java.util.Collection-"><code>Buf.Buf(Collection)</code></a>, if obj is instanceof <code>Collection</code>.
 <li> otherwise return a <a href="../../../ch/wlkl/wsh/FileRW.html" title="class in ch.wlkl.wsh"><code>FileRW</code></a> using <a href="../../../ch/wlkl/wsh/FileRW.html#FileRW-java.lang.String-"><code>FileRW.FileRW(String)</code></a>.
 </ul></div>
</li>
</ul>
<a name="normalizeOpt-char-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>normalizeOpt</h4>
<pre>public static&nbsp;java.lang.String&nbsp;normalizeOpt(char&nbsp;fun,
                                            java.lang.Object&nbsp;arg)</pre>
</li>
</ul>
<a name="open-char-java.lang.String-ch.wlkl.wsh.OpenClose-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>open</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh">OpenClose</a>&nbsp;open(char&nbsp;fun,
                                 java.lang.String&nbsp;opt,
                                 <a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh">OpenClose</a>&nbsp;oc)</pre>
<div class="block">open oc with option opt, if opt does not contain a - (<a href="../../../ch/wlkl/wsh/Cat.html#eNoOpenClose"><code>eNoOpenClose</code></a></div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - </dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>opt</code> - </dd>
<dd><code>oc</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>oc</dd>
</dl>
</li>
</ul>
<a name="makeRead-java.lang.String-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>makeRead</h4>
<pre>public static&nbsp;<a href="../../../ch/wlkl/wsh/Read.html" title="interface in ch.wlkl.wsh">Read</a>&lt;java.lang.String&gt;&nbsp;makeRead(java.lang.String&nbsp;opt,
                                              java.lang.Object&nbsp;o)</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Read&lt;String&gt; using <a href="../../../ch/wlkl/wsh/Cat.html#make-java.lang.String-java.lang.Object-"><code>make(String, Object)</code></a> and <a href="../../../ch/wlkl/wsh/Cat.html#open-java.lang.String-"><code>open(String)</code></a></dd>
</dl>
</li>
</ul>
<a name="writeAll-ch.wlkl.wsh.Write-java.lang.String-ch.wlkl.wsh.Read-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeAll</h4>
<pre>public static&nbsp;&lt;W&gt;&nbsp;void&nbsp;writeAll(<a href="../../../ch/wlkl/wsh/Write.html" title="interface in ch.wlkl.wsh">Write</a>&lt;W&gt;&nbsp;w,
                                java.lang.String&nbsp;opt,
                                <a href="../../../ch/wlkl/wsh/Read.html" title="interface in ch.wlkl.wsh">Read</a>&lt;W&gt;&nbsp;r)</pre>
</li>
</ul>
<a name="reset-java.lang.Object...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public&nbsp;void&nbsp;reset(java.lang.Object...&nbsp;args)</pre>
<div class="block">reset the receiver, initialise the list with args using <a href="../../../ch/wlkl/wsh/Cat.html#writeAll-java.lang.String-ch.wlkl.wsh.Read-"><code>writeAll(String, Read)</code></a></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../ch/wlkl/wsh/OpenClose.html#reset-java.lang.Object...-">reset</a></code>&nbsp;in interface&nbsp;<code><a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh">OpenClose</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>args</code> - the specification for the next open</dd>
</dl>
</li>
</ul>
<a name="writeAll-java.lang.String-ch.wlkl.wsh.Read-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeAll</h4>
<pre>public&nbsp;void&nbsp;writeAll(java.lang.String&nbsp;opt,
                     <a href="../../../ch/wlkl/wsh/Read.html" title="interface in ch.wlkl.wsh">Read</a>&lt;<a href="../../../ch/wlkl/wsh/Cat.html" title="type parameter in Cat">T</a>&gt;&nbsp;r)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../ch/wlkl/wsh/Write.html#writeAll-java.lang.String-ch.wlkl.wsh.Read-">Write</a></code></span></div>
<div class="block">write the contents of reader to the receiver.
 reading of the reader may be delayed until the output is needed.
 open and close reader as specified by opt. 
 fail if arg is null or not properly opened. How to fail is unspecified, a null pointer exception or a <a href="../../../ch/wlkl/wsh/Top.html#fail-java.lang.String-"><code>Top.fail(String)</code></a> are common possibilities.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../ch/wlkl/wsh/Write.html#writeAll-java.lang.String-ch.wlkl.wsh.Read-">writeAll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../ch/wlkl/wsh/Write.html" title="interface in ch.wlkl.wsh">Write</a>&lt;<a href="../../../ch/wlkl/wsh/Cat.html" title="type parameter in Cat">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="addIO-java.lang.Object...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addIO</h4>
<pre>public&nbsp;void&nbsp;addIO(java.lang.Object...&nbsp;args)</pre>
<div class="block">add further pairs of option, specification to the lists of this Cat.
 <br>if an element of args is an option (<a href="../../../ch/wlkl/wsh/Option.html#single-java.lang.Object-"><code>Option.single(Object)</code></a> use it as current option ohterwise add the current option and element as specifiction. Start with current option empty.
 Option and specification pairs are enventually passed to <a href="../../../ch/wlkl/wsh/Cat.html#make-java.lang.String-java.lang.Object-"><code>make(String, Object)</code></a></div>
</li>
</ul>
<a name="lazyClose-ch.wlkl.wsh.Env-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lazyClose</h4>
<pre>public&nbsp;boolean&nbsp;lazyClose(<a href="../../../ch/wlkl/wsh/Env.html" title="class in ch.wlkl.wsh">Env</a>&lt;?,?&gt;&nbsp;lazy)</pre>
</li>
</ul>
<a name="open-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>open</h4>
<pre>public&nbsp;void&nbsp;open(java.lang.String&nbsp;opt)</pre>
<div class="block">open the receiver. For
 <br><ul>
 <li>read the list of the receiver may specify any number of readers (including 0)
 <li>write the list of the receiver at least one object. Only the first is used
 </ul></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../ch/wlkl/wsh/OpenClose.html#open-java.lang.String-">open</a></code>&nbsp;in interface&nbsp;<code><a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh">OpenClose</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>opt</code> - the readers or writers arg opened with this option (as first character).</dd>
</dl>
</li>
</ul>
<a name="close--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;close()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../ch/wlkl/wsh/OpenClose.html#close--">OpenClose</a></code></span></div>
<div class="block">close the receiver.
 if not open do nothing.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../ch/wlkl/wsh/OpenClose.html#close--">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../../ch/wlkl/wsh/OpenClose.html" title="interface in ch.wlkl.wsh">OpenClose</a></code></dd>
</dl>
</li>
</ul>
<a name="write-java.lang.Object-">
<!--   -->
</a><a name="write-T-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
<pre>public&nbsp;void&nbsp;write(<a href="../../../ch/wlkl/wsh/Cat.html" title="type parameter in Cat">T</a>&nbsp;line)</pre>
<div class="block">open the concatenation, if args is nonEmpty they define the concatentation of readers.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../ch/wlkl/wsh/Write.html#write-T-">write</a></code>&nbsp;in interface&nbsp;<code><a href="../../../ch/wlkl/wsh/Write.html" title="interface in ch.wlkl.wsh">Write</a>&lt;<a href="../../../ch/wlkl/wsh/Cat.html" title="type parameter in Cat">T</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>line</code> - </dd>
</dl>
</li>
</ul>
<a name="read--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre>public&nbsp;<a href="../../../ch/wlkl/wsh/Cat.html" title="type parameter in Cat">T</a>&nbsp;read()</pre>
<div class="block">read and return the next line.
 at the end of the current reader try the next one. return null only at end of all readers.
 fail (currently with null exception, but unspecified how) if not opened for read.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../ch/wlkl/wsh/Read.html#read--">read</a></code>&nbsp;in interface&nbsp;<code><a href="../../../ch/wlkl/wsh/Read.html" title="interface in ch.wlkl.wsh">Read</a>&lt;<a href="../../../ch/wlkl/wsh/Cat.html" title="type parameter in Cat">T</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the next line</dd>
</dl>
</li>
</ul>
<a name="nextReader--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>nextReader</h4>
<pre>public&nbsp;boolean&nbsp;nextReader()</pre>
<div class="block">close the current reader and open the next one</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>false after last reader otherwise true</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Cat.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-files/index-1.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../ch/wlkl/wsh/Buf.html" title="class in ch.wlkl.wsh"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../ch/wlkl/wsh/Compiler.html" title="class in ch.wlkl.wsh"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?ch/wlkl/wsh/Cat.html" target="_top">Frames</a></li>
<li><a href="Cat.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.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>
</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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>