proglab5/Lab5Client/build/docs/javadoc/client/commandline/CommandLineHandler.html
erius 2cce380f20 v2.1
UDPClient uses DatagramChannel instead of DatagramSocket
New command "con"
minor bug fixes
2022-05-10 22:14:13 +03:00

435 lines
21 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="ru">
<head>
<!-- Generated by javadoc -->
<title>CommandLineHandler (Lab5Client 2.1 API)</title>
<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="CommandLineHandler (Lab5Client 2.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10,"i7":10};
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="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../client/commandline/Command.html" title="class in client.commandline"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../client/commandline/CommandLineHandler.ConnectionCommand.html" title="class in client.commandline"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?client/commandline/CommandLineHandler.html" target="_top">Frames</a></li>
<li><a href="CommandLineHandler.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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">client.commandline</div>
<h2 title="Class CommandLineHandler" class="title">Class CommandLineHandler</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>client.commandline.CommandLineHandler</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public final class <span class="typeNameLabel">CommandLineHandler</span>
extends java.lang.Object</pre>
<div class="block">Класс обработчика командной строки, реализует шаблон проектирования Singleton,
читает ввод с командной строки, обрабатывает его и вызывает соответствующую команду
на выполнение из регистра команд, используйте метод <a href="../../client/commandline/CommandLineHandler.html#start--"><code>start()</code></a> для его запуска</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../client/commandline/CommandRegistry.html" title="class in client.commandline"><code>CommandRegistry</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../client/commandline/CommandLineHandler.ConnectionCommand.html" title="class in client.commandline">CommandLineHandler.ConnectionCommand</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../client/commandline/CommandLineHandler.ExecuteScriptCommand.html" title="class in client.commandline">CommandLineHandler.ExecuteScriptCommand</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../client/commandline/CommandLineHandler.ExitCommand.html" title="class in client.commandline">CommandLineHandler.ExitCommand</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../client/commandline/CommandLineHandler.HistoryCommand.html" title="class in client.commandline">CommandLineHandler.HistoryCommand</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../client/commandline/CommandLineHandler.ModeCommand.html" title="class in client.commandline">CommandLineHandler.ModeCommand</a></span></code>&nbsp;</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="../../client/commandline/CommandLineHandler.html#addNewInput-java.io.Reader-java.lang.String-">addNewInput</a></span>(java.io.Reader&nbsp;reader,
java.lang.String&nbsp;filePath)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../client/commandline/CommandLineHandler.html#awaitInput-java.lang.String-java.lang.String-">awaitInput</a></span>(java.lang.String&nbsp;msg,
java.lang.String&nbsp;err)</code>
<div class="block">Метод, ожидающий ввода из потока ввода <a href="../../client/commandline/CommandLineHandler.html#reader"><code>reader</code></a> и возвращающий результат,
печатает запрос msg перед ожиданием данных (если их вводит пользователь),
печатает ошибку err, если при вводе данных произошла ошибка</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../client/commandline/CommandLineHandler.html#awaitInput-java.lang.String-java.lang.String-java.util.function.Predicate-">awaitInput</a></span>(java.lang.String&nbsp;msg,
java.lang.String&nbsp;err,
java.util.function.Predicate&lt;java.lang.String&gt;&nbsp;predicate)</code>
<div class="block">Метод, ожидающий ввода из потока ввода <a href="../../client/commandline/CommandLineHandler.html#reader"><code>reader </code></a> и возвращающий результат,
печатает запрос msg перед ожиданием данных (если их вводит пользователь),
печатает ошибку err, если введенные данные не соответствуют предикату predicate</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../client/commandline/CommandLineHandler.html#awaitInput-java.lang.String-java.lang.String-java.util.function.Predicate-java.util.function.Function-">awaitInput</a></span>(java.lang.String&nbsp;msg,
java.lang.String&nbsp;err,
java.util.function.Predicate&lt;java.lang.String&gt;&nbsp;predicate,
java.util.function.Function&lt;java.lang.String,T&gt;&nbsp;transform)</code>
<div class="block">Метод, ожидающий ввода из потока ввода <a href="../../client/commandline/CommandLineHandler.html#reader"><code>reader</code></a> и возвращающий результат,
печатает запрос msg перед ожиданием данных (если их вводит пользователь),
печатает ошибку err, если введенные данные не соответствуют предикату predicate,
преобразует результат в тип T в соответствии с функцией transform</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>common.commandline.response.CommandResult</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../client/commandline/CommandLineHandler.html#executeOnServer-client.net.UDPClient-client.commandline.Command-">executeOnServer</a></span>(<a href="../../client/net/UDPClient.html" title="class in client.net">UDPClient</a>&nbsp;udp,
<a href="../../client/commandline/Command.html" title="class in client.commandline">Command</a>&nbsp;command)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static <a href="../../client/commandline/CommandLineHandler.html" title="class in client.commandline">CommandLineHandler</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../client/commandline/CommandLineHandler.html#getInstance--">getInstance</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../client/commandline/CommandLineHandler.html#removeInput--">removeInput</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../client/commandline/CommandLineHandler.html#start--">start</a></span>()</code>
<div class="block">Метод, запускающий обработчик командной строки, для остановки требуется ввести команду "exit"</div>
</td>
</tr>
</table>
<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, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getInstance--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstance</h4>
<pre>public static&nbsp;<a href="../../client/commandline/CommandLineHandler.html" title="class in client.commandline">CommandLineHandler</a>&nbsp;getInstance()</pre>
</li>
</ul>
<a name="start--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;void&nbsp;start()</pre>
<div class="block">Метод, запускающий обработчик командной строки, для остановки требуется ввести команду "exit"</div>
</li>
</ul>
<a name="executeOnServer-client.net.UDPClient-client.commandline.Command-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executeOnServer</h4>
<pre>public&nbsp;common.commandline.response.CommandResult&nbsp;executeOnServer(<a href="../../client/net/UDPClient.html" title="class in client.net">UDPClient</a>&nbsp;udp,
<a href="../../client/commandline/Command.html" title="class in client.commandline">Command</a>&nbsp;command)</pre>
</li>
</ul>
<a name="awaitInput-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>awaitInput</h4>
<pre>public&nbsp;java.lang.String&nbsp;awaitInput(java.lang.String&nbsp;msg,
java.lang.String&nbsp;err)</pre>
<div class="block">Метод, ожидающий ввода из потока ввода <a href="../../client/commandline/CommandLineHandler.html#reader"><code>reader</code></a> и возвращающий результат,
печатает запрос msg перед ожиданием данных (если их вводит пользователь),
печатает ошибку err, если при вводе данных произошла ошибка</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - Строка, печатающаяся как запрос данных от пользователя</dd>
<dd><code>err</code> - Строка, печатающаяся во время ошибки</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Строка из потока ввода</dd>
</dl>
</li>
</ul>
<a name="awaitInput-java.lang.String-java.lang.String-java.util.function.Predicate-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>awaitInput</h4>
<pre>public&nbsp;java.lang.String&nbsp;awaitInput(java.lang.String&nbsp;msg,
java.lang.String&nbsp;err,
java.util.function.Predicate&lt;java.lang.String&gt;&nbsp;predicate)</pre>
<div class="block">Метод, ожидающий ввода из потока ввода <a href="../../client/commandline/CommandLineHandler.html#reader"><code>reader </code></a> и возвращающий результат,
печатает запрос msg перед ожиданием данных (если их вводит пользователь),
печатает ошибку err, если введенные данные не соответствуют предикату predicate</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - Строка, печатающаяся как запрос данных от пользователя</dd>
<dd><code>err</code> - Строка, печатающаяся при несоответствии ввода предикату</dd>
<dd><code>predicate</code> - Предикат, определяющий валидность введенных данных</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Строка из потока ввода</dd>
</dl>
</li>
</ul>
<a name="awaitInput-java.lang.String-java.lang.String-java.util.function.Predicate-java.util.function.Function-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>awaitInput</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;awaitInput(java.lang.String&nbsp;msg,
java.lang.String&nbsp;err,
java.util.function.Predicate&lt;java.lang.String&gt;&nbsp;predicate,
java.util.function.Function&lt;java.lang.String,T&gt;&nbsp;transform)</pre>
<div class="block">Метод, ожидающий ввода из потока ввода <a href="../../client/commandline/CommandLineHandler.html#reader"><code>reader</code></a> и возвращающий результат,
печатает запрос msg перед ожиданием данных (если их вводит пользователь),
печатает ошибку err, если введенные данные не соответствуют предикату predicate,
преобразует результат в тип T в соответствии с функцией transform</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - Тип, к которому будет приведен результат</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - Строка, печатающаяся как запрос данных от пользователя</dd>
<dd><code>err</code> - Строка, печатающаяся при несоответствии ввода предикату</dd>
<dd><code>predicate</code> - Предикат, определяющий валидность введенных данных</dd>
<dd><code>transform</code> - Функция, преобразующая результат в тип T</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Результат типа T</dd>
</dl>
</li>
</ul>
<a name="addNewInput-java.io.Reader-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addNewInput</h4>
<pre>public&nbsp;void&nbsp;addNewInput(java.io.Reader&nbsp;reader,
java.lang.String&nbsp;filePath)</pre>
</li>
</ul>
<a name="removeInput--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>removeInput</h4>
<pre>public&nbsp;void&nbsp;removeInput()</pre>
</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="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../client/commandline/Command.html" title="class in client.commandline"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../client/commandline/CommandLineHandler.ConnectionCommand.html" title="class in client.commandline"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?client/commandline/CommandLineHandler.html" target="_top">Frames</a></li>
<li><a href="CommandLineHandler.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>