(DEPLOYED ACF) Updated JavaDocs

This commit is contained in:
Aikar
2019-02-03 19:16:24 -05:00
parent 375648e50b
commit a0b9fb637d
14 changed files with 159 additions and 144 deletions
@@ -99,6 +99,9 @@
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</a></li>
<li>
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">java.lang.RuntimeException</a></li>
<li>
<ul class="inheritance">
<li>co.aikar.commands.CommandCompletions.SyncCompletionRequired</li>
</ul>
</li>
@@ -107,6 +110,8 @@
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
@@ -120,8 +125,8 @@
</dl>
<hr>
<br>
<pre>public static class <a href="../../../src-html/co/aikar/commands/CommandCompletions.html#line.236">CommandCompletions.SyncCompletionRequired</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<pre>public static class <a href="../../../src-html/co/aikar/commands/CommandCompletions.html#line.237">CommandCompletions.SyncCompletionRequired</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../serialized-form.html#co.aikar.commands.CommandCompletions.SyncCompletionRequired">Serialized Form</a></dd>
@@ -189,7 +194,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.h
<ul class="blockListLast">
<li class="blockList">
<h4>SyncCompletionRequired</h4>
<pre>public&nbsp;<a href="../../../src-html/co/aikar/commands/CommandCompletions.SyncCompletionRequired.html#line.236">SyncCompletionRequired</a>()</pre>
<pre>public&nbsp;<a href="../../../src-html/co/aikar/commands/CommandCompletions.SyncCompletionRequired.html#line.237">SyncCompletionRequired</a>()</pre>
</li>
</ul>
</li>
@@ -145,10 +145,11 @@ extends <a href="../../../co/aikar/commands/BaseCommand.html" title="class in co
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../co/aikar/commands/ForwardingCommand.html#tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-">tabComplete</a></span>(<a href="../../../co/aikar/commands/CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>&nbsp;issuer,
<td class="colLast"><code><span class="memberNameLink"><a href="../../../co/aikar/commands/ForwardingCommand.html#tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-boolean-">tabComplete</a></span>(<a href="../../../co/aikar/commands/CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>&nbsp;issuer,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>
<div class="block">Gets tab completed data from the given command from the user.</div>
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args,
boolean&nbsp;isAsync)</code>
<div class="block">Gets the tab complete suggestions from a given command.</div>
</td>
</tr>
</table>
@@ -157,7 +158,7 @@ extends <a href="../../../co/aikar/commands/BaseCommand.html" title="class in co
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;co.aikar.commands.<a href="../../../co/aikar/commands/BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a></h3>
<code><a href="../../../co/aikar/commands/BaseCommand.html#canExecute-co.aikar.commands.CommandIssuer-co.aikar.commands.RegisteredCommand-">canExecute</a>, <a href="../../../co/aikar/commands/BaseCommand.html#doHelp-co.aikar.commands.CommandIssuer-java.lang.String...-">doHelp</a>, <a href="../../../co/aikar/commands/BaseCommand.html#doHelp-java.lang.Object-java.lang.String...-">doHelp</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getCommandHelp--">getCommandHelp</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getContextFlags-java.lang.Class-">getContextFlags</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getCurrentCommandIssuer--">getCurrentCommandIssuer</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getCurrentCommandManager--">getCurrentCommandManager</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getDefaultRegisteredCommand--">getDefaultRegisteredCommand</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getExceptionHandler--">getExceptionHandler</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getExecCommandLabel--">getExecCommandLabel</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getExecSubcommand--">getExecSubcommand</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getName--">getName</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getOrigArgs--">getOrigArgs</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getRequiredPermissions--">getRequiredPermissions</a>, <a href="../../../co/aikar/commands/BaseCommand.html#hasPermission-java.lang.Object-">hasPermission</a>, <a href="../../../co/aikar/commands/BaseCommand.html#help-co.aikar.commands.CommandIssuer-java.lang.String:A-">help</a>, <a href="../../../co/aikar/commands/BaseCommand.html#help-java.lang.Object-java.lang.String:A-">help</a>, <a href="../../../co/aikar/commands/BaseCommand.html#requiresPermission-java.lang.String-">requiresPermission</a>, <a href="../../../co/aikar/commands/BaseCommand.html#setContextFlags-java.lang.Class-java.lang.String-">setContextFlags</a>, <a href="../../../co/aikar/commands/BaseCommand.html#setExceptionHandler-co.aikar.commands.ExceptionHandler-">setExceptionHandler</a>, <a href="../../../co/aikar/commands/BaseCommand.html#showCommandHelp--">showCommandHelp</a>, <a href="../../../co/aikar/commands/BaseCommand.html#showSyntax-co.aikar.commands.CommandIssuer-co.aikar.commands.RegisteredCommand-">showSyntax</a>, <a href="../../../co/aikar/commands/BaseCommand.html#tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-boolean-">tabComplete</a></code></li>
<code><a href="../../../co/aikar/commands/BaseCommand.html#canExecute-co.aikar.commands.CommandIssuer-co.aikar.commands.RegisteredCommand-">canExecute</a>, <a href="../../../co/aikar/commands/BaseCommand.html#doHelp-co.aikar.commands.CommandIssuer-java.lang.String...-">doHelp</a>, <a href="../../../co/aikar/commands/BaseCommand.html#doHelp-java.lang.Object-java.lang.String...-">doHelp</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getCommandHelp--">getCommandHelp</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getContextFlags-java.lang.Class-">getContextFlags</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getCurrentCommandIssuer--">getCurrentCommandIssuer</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getCurrentCommandManager--">getCurrentCommandManager</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getDefaultRegisteredCommand--">getDefaultRegisteredCommand</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getExceptionHandler--">getExceptionHandler</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getExecCommandLabel--">getExecCommandLabel</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getExecSubcommand--">getExecSubcommand</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getName--">getName</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getOrigArgs--">getOrigArgs</a>, <a href="../../../co/aikar/commands/BaseCommand.html#getRequiredPermissions--">getRequiredPermissions</a>, <a href="../../../co/aikar/commands/BaseCommand.html#hasPermission-java.lang.Object-">hasPermission</a>, <a href="../../../co/aikar/commands/BaseCommand.html#help-co.aikar.commands.CommandIssuer-java.lang.String:A-">help</a>, <a href="../../../co/aikar/commands/BaseCommand.html#help-java.lang.Object-java.lang.String:A-">help</a>, <a href="../../../co/aikar/commands/BaseCommand.html#requiresPermission-java.lang.String-">requiresPermission</a>, <a href="../../../co/aikar/commands/BaseCommand.html#setContextFlags-java.lang.Class-java.lang.String-">setContextFlags</a>, <a href="../../../co/aikar/commands/BaseCommand.html#setExceptionHandler-co.aikar.commands.ExceptionHandler-">setExceptionHandler</a>, <a href="../../../co/aikar/commands/BaseCommand.html#showCommandHelp--">showCommandHelp</a>, <a href="../../../co/aikar/commands/BaseCommand.html#showSyntax-co.aikar.commands.CommandIssuer-co.aikar.commands.RegisteredCommand-">showSyntax</a>, <a href="../../../co/aikar/commands/BaseCommand.html#tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-">tabComplete</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -193,7 +194,7 @@ extends <a href="../../../co/aikar/commands/BaseCommand.html" title="class in co
</dl>
</li>
</ul>
<a name="tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-">
<a name="tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-boolean-">
<!-- -->
</a>
<ul class="blockList">
@@ -201,19 +202,22 @@ extends <a href="../../../co/aikar/commands/BaseCommand.html" title="class in co
<h4>tabComplete</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../src-html/co/aikar/commands/ForwardingCommand.html#line.47">tabComplete</a>(<a href="../../../co/aikar/commands/CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>&nbsp;issuer,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args,
boolean&nbsp;isAsync)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../co/aikar/commands/BaseCommand.html#tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-">BaseCommand</a></code></span></div>
<div class="block">Gets tab completed data from the given command from the user.</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../co/aikar/commands/BaseCommand.html#tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-boolean-">BaseCommand</a></code></span></div>
<div class="block">Gets the tab complete suggestions from a given command. This will automatically find anything
which is valid for the specified command through the command's implementation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../co/aikar/commands/BaseCommand.html#tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-">tabComplete</a></code>&nbsp;in class&nbsp;<code><a href="../../../co/aikar/commands/BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a></code></dd>
<dd><code><a href="../../../co/aikar/commands/BaseCommand.html#tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-boolean-">tabComplete</a></code>&nbsp;in class&nbsp;<code><a href="../../../co/aikar/commands/BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>issuer</code> - The user who executed the tabcomplete.</dd>
<dd><code>alias</code> - The label which is being used by the user.</dd>
<dd><code>args</code> - The arguments the user has typed so far.</dd>
<dd><code>issuer</code> - The issuer of the command.</dd>
<dd><code>alias</code> - The command name as entered by the user instead of the ACF registered name.</dd>
<dd><code>args</code> - All arguments entered by the user.</dd>
<dd><code>isAsync</code> - Whether this is run off of the main thread.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>All possibilities in the tab complete.</dd>
<dd>The possibilities to tab complete in no particular order.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code></dd>
</dl>
@@ -269,7 +269,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockList">
<li class="blockList">
<h4>execute</h4>
<pre>default&nbsp;<a href="../../../co/aikar/commands/BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a>&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.67">execute</a>(<a href="../../../co/aikar/commands/CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>&nbsp;sender,
<pre>default&nbsp;<a href="../../../co/aikar/commands/BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a>&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.64">execute</a>(<a href="../../../co/aikar/commands/CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>&nbsp;sender,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;commandLabel,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</pre>
</li>
@@ -280,7 +280,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockList">
<li class="blockList">
<h4>getBaseCommand</h4>
<pre>default&nbsp;<a href="../../../co/aikar/commands/BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a>&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.74">getBaseCommand</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</pre>
<pre>default&nbsp;<a href="../../../co/aikar/commands/BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a>&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.71">getBaseCommand</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</pre>
</li>
</ul>
<a name="getTabCompletions-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-">
@@ -289,7 +289,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockList">
<li class="blockList">
<h4>getTabCompletions</h4>
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.87">getTabCompletions</a>(<a href="../../../co/aikar/commands/CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>&nbsp;sender,
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.84">getTabCompletions</a>(<a href="../../../co/aikar/commands/CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>&nbsp;sender,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</pre>
</li>
@@ -300,7 +300,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockList">
<li class="blockList">
<h4>getTabCompletions</h4>
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.91">getTabCompletions</a>(<a href="../../../co/aikar/commands/CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>&nbsp;sender,
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.88">getTabCompletions</a>(<a href="../../../co/aikar/commands/CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>&nbsp;sender,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args,
boolean&nbsp;commandsOnly)</pre>
@@ -312,7 +312,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockList">
<li class="blockList">
<h4>getTabCompletions</h4>
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.95">getTabCompletions</a>(<a href="../../../co/aikar/commands/CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>&nbsp;sender,
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.92">getTabCompletions</a>(<a href="../../../co/aikar/commands/CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>&nbsp;sender,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args,
boolean&nbsp;commandsOnly,
@@ -325,7 +325,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockList">
<li class="blockList">
<h4>getDefaultRegisteredCommand</h4>
<pre>default&nbsp;<a href="../../../co/aikar/commands/RegisteredCommand.html" title="class in co.aikar.commands">RegisteredCommand</a>&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.107">getDefaultRegisteredCommand</a>()</pre>
<pre>default&nbsp;<a href="../../../co/aikar/commands/RegisteredCommand.html" title="class in co.aikar.commands">RegisteredCommand</a>&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.104">getDefaultRegisteredCommand</a>()</pre>
</li>
</ul>
<a name="getDefCommand--">
@@ -334,7 +334,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockList">
<li class="blockList">
<h4>getDefCommand</h4>
<pre>default&nbsp;<a href="../../../co/aikar/commands/BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a>&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.115">getDefCommand</a>()</pre>
<pre>default&nbsp;<a href="../../../co/aikar/commands/BaseCommand.html" title="class in co.aikar.commands">BaseCommand</a>&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.112">getDefCommand</a>()</pre>
</li>
</ul>
<a name="getDescription--">
@@ -343,7 +343,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockList">
<li class="blockList">
<h4>getDescription</h4>
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.120">getDescription</a>()</pre>
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.117">getDescription</a>()</pre>
</li>
</ul>
<a name="getUsage--">
@@ -352,7 +352,7 @@ var activeTableTab = "activeTableTab";
<ul class="blockListLast">
<li class="blockList">
<h4>getUsage</h4>
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.133">getUsage</a>()</pre>
<pre>default&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../src-html/co/aikar/commands/RootCommand.html#line.130">getUsage</a>()</pre>
</li>
</ul>
</li>
@@ -442,12 +442,6 @@
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><span class="typeNameLabel">ForwardingCommand.</span><code><span class="memberNameLink"><a href="../../../../co/aikar/commands/ForwardingCommand.html#tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-">tabComplete</a></span>(<a href="../../../../co/aikar/commands/CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>&nbsp;issuer,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><span class="typeNameLabel">BaseCommand.</span><code><span class="memberNameLink"><a href="../../../../co/aikar/commands/BaseCommand.html#tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-boolean-">tabComplete</a></span>(<a href="../../../../co/aikar/commands/CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>&nbsp;issuer,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;commandLabel,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args,
@@ -455,6 +449,13 @@
<div class="block">Gets the tab complete suggestions from a given command.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><span class="typeNameLabel">ForwardingCommand.</span><code><span class="memberNameLink"><a href="../../../../co/aikar/commands/ForwardingCommand.html#tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-boolean-">tabComplete</a></span>(<a href="../../../../co/aikar/commands/CommandIssuer.html" title="interface in co.aikar.commands">CommandIssuer</a>&nbsp;issuer,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args,
boolean&nbsp;isAsync)</code>&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
@@ -107,7 +107,6 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Exception</span></a>
<ul>
<li type="circle">co.aikar.commands.<a href="../../../co/aikar/commands/CommandCompletions.SyncCompletionRequired.html" title="class in co.aikar.commands"><span class="typeNameLink">CommandCompletions.SyncCompletionRequired</span></a></li>
<li type="circle">co.aikar.commands.<a href="../../../co/aikar/commands/InvalidCommandArgument.html" title="class in co.aikar.commands"><span class="typeNameLink">InvalidCommandArgument</span></a>
<ul>
<li type="circle">co.aikar.commands.<a href="../../../co/aikar/commands/ConditionFailedException.html" title="class in co.aikar.commands"><span class="typeNameLink">ConditionFailedException</span></a></li>
@@ -116,6 +115,7 @@
</li>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">RuntimeException</span></a>
<ul>
<li type="circle">co.aikar.commands.<a href="../../../co/aikar/commands/CommandCompletions.SyncCompletionRequired.html" title="class in co.aikar.commands"><span class="typeNameLink">CommandCompletions.SyncCompletionRequired</span></a></li>
<li type="circle">co.aikar.commands.<a href="../../../co/aikar/commands/InvalidCommandContextException.html" title="class in co.aikar.commands"><span class="typeNameLink">InvalidCommandContextException</span></a></li>
<li type="circle">co.aikar.commands.<a href="../../../co/aikar/commands/UnresolvedDependencyException.html" title="class in co.aikar.commands"><span class="typeNameLink">UnresolvedDependencyException</span></a></li>
</ul>
+1 -1
View File
@@ -1839,7 +1839,7 @@
<dd>
<div class="block">Gets the tab complete suggestions from a given command.</div>
</dd>
<dt><span class="memberNameLink"><a href="co/aikar/commands/ForwardingCommand.html#tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-">tabComplete(CommandIssuer, String, String[])</a></span> - Method in class co.aikar.commands.<a href="co/aikar/commands/ForwardingCommand.html" title="class in co.aikar.commands">ForwardingCommand</a></dt>
<dt><span class="memberNameLink"><a href="co/aikar/commands/ForwardingCommand.html#tabComplete-co.aikar.commands.CommandIssuer-java.lang.String-java.lang.String:A-boolean-">tabComplete(CommandIssuer, String, String[], boolean)</a></span> - Method in class co.aikar.commands.<a href="co/aikar/commands/ForwardingCommand.html" title="class in co.aikar.commands">ForwardingCommand</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="co/aikar/commands/Locales.html#THAI">THAI</a></span> - Static variable in class co.aikar.commands.<a href="co/aikar/commands/Locales.html" title="class in co.aikar.commands">Locales</a></dt>
<dd>&nbsp;</dd>
+1 -1
View File
@@ -114,7 +114,6 @@
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Exception</span></a>
<ul>
<li type="circle">co.aikar.commands.<a href="co/aikar/commands/CommandCompletions.SyncCompletionRequired.html" title="class in co.aikar.commands"><span class="typeNameLink">CommandCompletions.SyncCompletionRequired</span></a></li>
<li type="circle">co.aikar.commands.<a href="co/aikar/commands/InvalidCommandArgument.html" title="class in co.aikar.commands"><span class="typeNameLink">InvalidCommandArgument</span></a>
<ul>
<li type="circle">co.aikar.commands.<a href="co/aikar/commands/ConditionFailedException.html" title="class in co.aikar.commands"><span class="typeNameLink">ConditionFailedException</span></a></li>
@@ -123,6 +122,7 @@
</li>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">RuntimeException</span></a>
<ul>
<li type="circle">co.aikar.commands.<a href="co/aikar/commands/CommandCompletions.SyncCompletionRequired.html" title="class in co.aikar.commands"><span class="typeNameLink">CommandCompletions.SyncCompletionRequired</span></a></li>
<li type="circle">co.aikar.commands.<a href="co/aikar/commands/InvalidCommandContextException.html" title="class in co.aikar.commands"><span class="typeNameLink">InvalidCommandContextException</span></a></li>
<li type="circle">co.aikar.commands.<a href="co/aikar/commands/UnresolvedDependencyException.html" title="class in co.aikar.commands"><span class="typeNameLink">UnresolvedDependencyException</span></a></li>
</ul>
+1 -1
View File
@@ -79,7 +79,7 @@
<li class="blockList"><a name="co.aikar.commands.CommandCompletions.SyncCompletionRequired">
<!-- -->
</a>
<h3>Class <a href="co/aikar/commands/CommandCompletions.SyncCompletionRequired.html" title="class in co.aikar.commands">co.aikar.commands.CommandCompletions.SyncCompletionRequired</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a> implements Serializable</h3>
<h3>Class <a href="co/aikar/commands/CommandCompletions.SyncCompletionRequired.html" title="class in co.aikar.commands">co.aikar.commands.CommandCompletions.SyncCompletionRequired</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</a> implements Serializable</h3>
</li>
<li class="blockList"><a name="co.aikar.commands.ConditionFailedException">
<!-- -->
@@ -241,9 +241,11 @@
<span class="sourceLineNo">233</span> Collection&lt;String&gt; getCompletions(C context) throws InvalidCommandArgument;<a name="line.233"></a>
<span class="sourceLineNo">234</span> }<a name="line.234"></a>
<span class="sourceLineNo">235</span> public interface AsyncCommandCompletionHandler &lt;C extends CommandCompletionContext&gt; extends CommandCompletionHandler &lt;C&gt; {}<a name="line.235"></a>
<span class="sourceLineNo">236</span> public static class SyncCompletionRequired extends Exception {}<a name="line.236"></a>
<span class="sourceLineNo">237</span><a name="line.237"></a>
<span class="sourceLineNo">238</span>}<a name="line.238"></a>
<span class="sourceLineNo">236</span><a name="line.236"></a>
<span class="sourceLineNo">237</span> public static class SyncCompletionRequired extends RuntimeException {<a name="line.237"></a>
<span class="sourceLineNo">238</span> }<a name="line.238"></a>
<span class="sourceLineNo">239</span><a name="line.239"></a>
<span class="sourceLineNo">240</span>}<a name="line.240"></a>
@@ -241,9 +241,11 @@
<span class="sourceLineNo">233</span> Collection&lt;String&gt; getCompletions(C context) throws InvalidCommandArgument;<a name="line.233"></a>
<span class="sourceLineNo">234</span> }<a name="line.234"></a>
<span class="sourceLineNo">235</span> public interface AsyncCommandCompletionHandler &lt;C extends CommandCompletionContext&gt; extends CommandCompletionHandler &lt;C&gt; {}<a name="line.235"></a>
<span class="sourceLineNo">236</span> public static class SyncCompletionRequired extends Exception {}<a name="line.236"></a>
<span class="sourceLineNo">237</span><a name="line.237"></a>
<span class="sourceLineNo">238</span>}<a name="line.238"></a>
<span class="sourceLineNo">236</span><a name="line.236"></a>
<span class="sourceLineNo">237</span> public static class SyncCompletionRequired extends RuntimeException {<a name="line.237"></a>
<span class="sourceLineNo">238</span> }<a name="line.238"></a>
<span class="sourceLineNo">239</span><a name="line.239"></a>
<span class="sourceLineNo">240</span>}<a name="line.240"></a>
@@ -241,9 +241,11 @@
<span class="sourceLineNo">233</span> Collection&lt;String&gt; getCompletions(C context) throws InvalidCommandArgument;<a name="line.233"></a>
<span class="sourceLineNo">234</span> }<a name="line.234"></a>
<span class="sourceLineNo">235</span> public interface AsyncCommandCompletionHandler &lt;C extends CommandCompletionContext&gt; extends CommandCompletionHandler &lt;C&gt; {}<a name="line.235"></a>
<span class="sourceLineNo">236</span> public static class SyncCompletionRequired extends Exception {}<a name="line.236"></a>
<span class="sourceLineNo">237</span><a name="line.237"></a>
<span class="sourceLineNo">238</span>}<a name="line.238"></a>
<span class="sourceLineNo">236</span><a name="line.236"></a>
<span class="sourceLineNo">237</span> public static class SyncCompletionRequired extends RuntimeException {<a name="line.237"></a>
<span class="sourceLineNo">238</span> }<a name="line.238"></a>
<span class="sourceLineNo">239</span><a name="line.239"></a>
<span class="sourceLineNo">240</span>}<a name="line.240"></a>
@@ -241,9 +241,11 @@
<span class="sourceLineNo">233</span> Collection&lt;String&gt; getCompletions(C context) throws InvalidCommandArgument;<a name="line.233"></a>
<span class="sourceLineNo">234</span> }<a name="line.234"></a>
<span class="sourceLineNo">235</span> public interface AsyncCommandCompletionHandler &lt;C extends CommandCompletionContext&gt; extends CommandCompletionHandler &lt;C&gt; {}<a name="line.235"></a>
<span class="sourceLineNo">236</span> public static class SyncCompletionRequired extends Exception {}<a name="line.236"></a>
<span class="sourceLineNo">237</span><a name="line.237"></a>
<span class="sourceLineNo">238</span>}<a name="line.238"></a>
<span class="sourceLineNo">236</span><a name="line.236"></a>
<span class="sourceLineNo">237</span> public static class SyncCompletionRequired extends RuntimeException {<a name="line.237"></a>
<span class="sourceLineNo">238</span> }<a name="line.238"></a>
<span class="sourceLineNo">239</span><a name="line.239"></a>
<span class="sourceLineNo">240</span>}<a name="line.240"></a>
@@ -52,7 +52,7 @@
<span class="sourceLineNo">044</span> }<a name="line.44"></a>
<span class="sourceLineNo">045</span><a name="line.45"></a>
<span class="sourceLineNo">046</span> @Override<a name="line.46"></a>
<span class="sourceLineNo">047</span> public List&lt;String&gt; tabComplete(CommandIssuer issuer, String alias, String[] args) throws IllegalArgumentException {<a name="line.47"></a>
<span class="sourceLineNo">047</span> public List&lt;String&gt; tabComplete(CommandIssuer issuer, String alias, String[] args, boolean isAsync) throws IllegalArgumentException {<a name="line.47"></a>
<span class="sourceLineNo">048</span> return command.tabComplete(issuer, alias, ApacheCommonsLangUtil.addAll(baseArgs, args));<a name="line.48"></a>
<span class="sourceLineNo">049</span> }<a name="line.49"></a>
<span class="sourceLineNo">050</span><a name="line.50"></a>
@@ -48,104 +48,101 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span> String getCommandName();<a name="line.41"></a>
<span class="sourceLineNo">042</span> default void addChildShared(List&lt;BaseCommand&gt; children, SetMultimap&lt;String, RegisteredCommand&gt; subCommands, BaseCommand command) {<a name="line.42"></a>
<span class="sourceLineNo">043</span> if (command.manager == null) {<a name="line.43"></a>
<span class="sourceLineNo">044</span> command.manager = getManager();<a name="line.44"></a>
<span class="sourceLineNo">045</span> }<a name="line.45"></a>
<span class="sourceLineNo">046</span> command.subCommands.entries().forEach(e -&gt; {<a name="line.46"></a>
<span class="sourceLineNo">047</span> String key = e.getKey();<a name="line.47"></a>
<span class="sourceLineNo">048</span> RegisteredCommand registeredCommand = e.getValue();<a name="line.48"></a>
<span class="sourceLineNo">049</span> if (key.equals(BaseCommand.DEFAULT) || key.equals(BaseCommand.CATCHUNKNOWN)) {<a name="line.49"></a>
<span class="sourceLineNo">050</span> return;<a name="line.50"></a>
<span class="sourceLineNo">051</span> }<a name="line.51"></a>
<span class="sourceLineNo">052</span> Set&lt;RegisteredCommand&gt; registered = subCommands.get(key);<a name="line.52"></a>
<span class="sourceLineNo">053</span> if (!registered.isEmpty()) {<a name="line.53"></a>
<span class="sourceLineNo">054</span> BaseCommand prevBase = registered.iterator().next().scope;<a name="line.54"></a>
<span class="sourceLineNo">055</span> if (prevBase != registeredCommand.scope) {<a name="line.55"></a>
<span class="sourceLineNo">056</span> this.getManager().log(LogLevel.ERROR, "ACF Error: " + command.getName() + " registered subcommand " + key + " for root command " + getCommandName() + " - but it is already defined in " + prevBase.getName());<a name="line.56"></a>
<span class="sourceLineNo">057</span> this.getManager().log(LogLevel.ERROR, "2 subcommands of the same prefix may not be spread over 2 different classes. Ignoring this.");<a name="line.57"></a>
<span class="sourceLineNo">058</span> return;<a name="line.58"></a>
<span class="sourceLineNo">059</span> }<a name="line.59"></a>
<span class="sourceLineNo">060</span> }<a name="line.60"></a>
<span class="sourceLineNo">061</span> subCommands.put(key, registeredCommand);<a name="line.61"></a>
<span class="sourceLineNo">062</span> });<a name="line.62"></a>
<span class="sourceLineNo">043</span> command.subCommands.entries().forEach(e -&gt; {<a name="line.43"></a>
<span class="sourceLineNo">044</span> String key = e.getKey();<a name="line.44"></a>
<span class="sourceLineNo">045</span> RegisteredCommand registeredCommand = e.getValue();<a name="line.45"></a>
<span class="sourceLineNo">046</span> if (key.equals(BaseCommand.DEFAULT) || key.equals(BaseCommand.CATCHUNKNOWN)) {<a name="line.46"></a>
<span class="sourceLineNo">047</span> return;<a name="line.47"></a>
<span class="sourceLineNo">048</span> }<a name="line.48"></a>
<span class="sourceLineNo">049</span> Set&lt;RegisteredCommand&gt; registered = subCommands.get(key);<a name="line.49"></a>
<span class="sourceLineNo">050</span> if (!registered.isEmpty()) {<a name="line.50"></a>
<span class="sourceLineNo">051</span> BaseCommand prevBase = registered.iterator().next().scope;<a name="line.51"></a>
<span class="sourceLineNo">052</span> if (prevBase != registeredCommand.scope) {<a name="line.52"></a>
<span class="sourceLineNo">053</span> this.getManager().log(LogLevel.ERROR, "ACF Error: " + command.getName() + " registered subcommand " + key + " for root command " + getCommandName() + " - but it is already defined in " + prevBase.getName());<a name="line.53"></a>
<span class="sourceLineNo">054</span> this.getManager().log(LogLevel.ERROR, "2 subcommands of the same prefix may not be spread over 2 different classes. Ignoring this.");<a name="line.54"></a>
<span class="sourceLineNo">055</span> return;<a name="line.55"></a>
<span class="sourceLineNo">056</span> }<a name="line.56"></a>
<span class="sourceLineNo">057</span> }<a name="line.57"></a>
<span class="sourceLineNo">058</span> subCommands.put(key, registeredCommand);<a name="line.58"></a>
<span class="sourceLineNo">059</span> });<a name="line.59"></a>
<span class="sourceLineNo">060</span><a name="line.60"></a>
<span class="sourceLineNo">061</span> children.add(command);<a name="line.61"></a>
<span class="sourceLineNo">062</span> }<a name="line.62"></a>
<span class="sourceLineNo">063</span><a name="line.63"></a>
<span class="sourceLineNo">064</span> children.add(command);<a name="line.64"></a>
<span class="sourceLineNo">065</span> }<a name="line.65"></a>
<span class="sourceLineNo">064</span> default BaseCommand execute(CommandIssuer sender, String commandLabel, String[] args) {<a name="line.64"></a>
<span class="sourceLineNo">065</span> BaseCommand command = getBaseCommand(args);<a name="line.65"></a>
<span class="sourceLineNo">066</span><a name="line.66"></a>
<span class="sourceLineNo">067</span> default BaseCommand execute(CommandIssuer sender, String commandLabel, String[] args) {<a name="line.67"></a>
<span class="sourceLineNo">068</span> BaseCommand command = getBaseCommand(args);<a name="line.68"></a>
<span class="sourceLineNo">069</span><a name="line.69"></a>
<span class="sourceLineNo">070</span> command.execute(sender, commandLabel, args);<a name="line.70"></a>
<span class="sourceLineNo">071</span> return command;<a name="line.71"></a>
<span class="sourceLineNo">072</span> }<a name="line.72"></a>
<span class="sourceLineNo">073</span><a name="line.73"></a>
<span class="sourceLineNo">074</span> default BaseCommand getBaseCommand(String[] args) {<a name="line.74"></a>
<span class="sourceLineNo">075</span> BaseCommand command = getDefCommand();<a name="line.75"></a>
<span class="sourceLineNo">076</span> for (int i = args.length; i &gt;= 0; i--) {<a name="line.76"></a>
<span class="sourceLineNo">077</span> String checkSub = ApacheCommonsLangUtil.join(args, " ", 0, i).toLowerCase();<a name="line.77"></a>
<span class="sourceLineNo">078</span> Set&lt;RegisteredCommand&gt; registeredCommands = getSubCommands().get(checkSub);<a name="line.78"></a>
<span class="sourceLineNo">079</span> if (!registeredCommands.isEmpty()) {<a name="line.79"></a>
<span class="sourceLineNo">080</span> command = registeredCommands.iterator().next().scope;<a name="line.80"></a>
<span class="sourceLineNo">081</span> break;<a name="line.81"></a>
<span class="sourceLineNo">082</span> }<a name="line.82"></a>
<span class="sourceLineNo">083</span> }<a name="line.83"></a>
<span class="sourceLineNo">084</span> return command;<a name="line.84"></a>
<span class="sourceLineNo">085</span> }<a name="line.85"></a>
<span class="sourceLineNo">086</span><a name="line.86"></a>
<span class="sourceLineNo">087</span> default List&lt;String&gt; getTabCompletions(CommandIssuer sender, String alias, String[] args) {<a name="line.87"></a>
<span class="sourceLineNo">088</span> return getTabCompletions(sender, alias, args, false);<a name="line.88"></a>
<span class="sourceLineNo">089</span> }<a name="line.89"></a>
<span class="sourceLineNo">090</span><a name="line.90"></a>
<span class="sourceLineNo">091</span> default List&lt;String&gt; getTabCompletions(CommandIssuer sender, String alias, String[] args, boolean commandsOnly) {<a name="line.91"></a>
<span class="sourceLineNo">092</span> return getTabCompletions(sender, alias, args, commandsOnly, false);<a name="line.92"></a>
<span class="sourceLineNo">093</span> }<a name="line.93"></a>
<span class="sourceLineNo">094</span><a name="line.94"></a>
<span class="sourceLineNo">095</span> default List&lt;String&gt; getTabCompletions(CommandIssuer sender, String alias, String[] args, boolean commandsOnly, boolean isAsync) {<a name="line.95"></a>
<span class="sourceLineNo">096</span> Set&lt;String&gt; completions = new HashSet&lt;&gt;();<a name="line.96"></a>
<span class="sourceLineNo">097</span> getChildren().forEach(child -&gt; {<a name="line.97"></a>
<span class="sourceLineNo">098</span> if (!commandsOnly) {<a name="line.98"></a>
<span class="sourceLineNo">099</span> completions.addAll(child.tabComplete(sender, alias, args, isAsync));<a name="line.99"></a>
<span class="sourceLineNo">100</span> }<a name="line.100"></a>
<span class="sourceLineNo">101</span> completions.addAll(child.getCommandsForCompletion(sender, args));<a name="line.101"></a>
<span class="sourceLineNo">102</span> });<a name="line.102"></a>
<span class="sourceLineNo">103</span> return new ArrayList&lt;&gt;(completions);<a name="line.103"></a>
<span class="sourceLineNo">104</span> }<a name="line.104"></a>
<span class="sourceLineNo">105</span><a name="line.105"></a>
<span class="sourceLineNo">106</span><a name="line.106"></a>
<span class="sourceLineNo">107</span> default RegisteredCommand getDefaultRegisteredCommand() {<a name="line.107"></a>
<span class="sourceLineNo">108</span> BaseCommand defCommand = this.getDefCommand();<a name="line.108"></a>
<span class="sourceLineNo">109</span> if (defCommand != null) {<a name="line.109"></a>
<span class="sourceLineNo">110</span> return defCommand.getDefaultRegisteredCommand();<a name="line.110"></a>
<span class="sourceLineNo">111</span> }<a name="line.111"></a>
<span class="sourceLineNo">112</span> return null;<a name="line.112"></a>
<span class="sourceLineNo">113</span> }<a name="line.113"></a>
<span class="sourceLineNo">114</span><a name="line.114"></a>
<span class="sourceLineNo">115</span> default BaseCommand getDefCommand(){<a name="line.115"></a>
<span class="sourceLineNo">116</span> return null;<a name="line.116"></a>
<span class="sourceLineNo">117</span> }<a name="line.117"></a>
<span class="sourceLineNo">118</span><a name="line.118"></a>
<span class="sourceLineNo">119</span><a name="line.119"></a>
<span class="sourceLineNo">120</span> default String getDescription() {<a name="line.120"></a>
<span class="sourceLineNo">121</span> final RegisteredCommand cmd = this.getDefaultRegisteredCommand();<a name="line.121"></a>
<span class="sourceLineNo">122</span> if (cmd != null) {<a name="line.122"></a>
<span class="sourceLineNo">123</span> return cmd.getHelpText();<a name="line.123"></a>
<span class="sourceLineNo">124</span> }<a name="line.124"></a>
<span class="sourceLineNo">125</span> BaseCommand defCommand = getDefCommand();<a name="line.125"></a>
<span class="sourceLineNo">126</span> if (defCommand != null &amp;&amp; defCommand.description != null) {<a name="line.126"></a>
<span class="sourceLineNo">127</span> return defCommand.description;<a name="line.127"></a>
<span class="sourceLineNo">128</span> }<a name="line.128"></a>
<span class="sourceLineNo">129</span> return "";<a name="line.129"></a>
<span class="sourceLineNo">130</span> }<a name="line.130"></a>
<span class="sourceLineNo">131</span><a name="line.131"></a>
<span class="sourceLineNo">132</span><a name="line.132"></a>
<span class="sourceLineNo">133</span> default String getUsage() {<a name="line.133"></a>
<span class="sourceLineNo">134</span> final RegisteredCommand cmd = this.getDefaultRegisteredCommand();<a name="line.134"></a>
<span class="sourceLineNo">135</span> if (cmd != null) {<a name="line.135"></a>
<span class="sourceLineNo">136</span> return cmd.syntaxText != null ? cmd.syntaxText : "";<a name="line.136"></a>
<span class="sourceLineNo">137</span> }<a name="line.137"></a>
<span class="sourceLineNo">138</span> return "";<a name="line.138"></a>
<span class="sourceLineNo">139</span> }<a name="line.139"></a>
<span class="sourceLineNo">140</span>}<a name="line.140"></a>
<span class="sourceLineNo">067</span> command.execute(sender, commandLabel, args);<a name="line.67"></a>
<span class="sourceLineNo">068</span> return command;<a name="line.68"></a>
<span class="sourceLineNo">069</span> }<a name="line.69"></a>
<span class="sourceLineNo">070</span><a name="line.70"></a>
<span class="sourceLineNo">071</span> default BaseCommand getBaseCommand(String[] args) {<a name="line.71"></a>
<span class="sourceLineNo">072</span> BaseCommand command = getDefCommand();<a name="line.72"></a>
<span class="sourceLineNo">073</span> for (int i = args.length; i &gt;= 0; i--) {<a name="line.73"></a>
<span class="sourceLineNo">074</span> String checkSub = ApacheCommonsLangUtil.join(args, " ", 0, i).toLowerCase();<a name="line.74"></a>
<span class="sourceLineNo">075</span> Set&lt;RegisteredCommand&gt; registeredCommands = getSubCommands().get(checkSub);<a name="line.75"></a>
<span class="sourceLineNo">076</span> if (!registeredCommands.isEmpty()) {<a name="line.76"></a>
<span class="sourceLineNo">077</span> command = registeredCommands.iterator().next().scope;<a name="line.77"></a>
<span class="sourceLineNo">078</span> break;<a name="line.78"></a>
<span class="sourceLineNo">079</span> }<a name="line.79"></a>
<span class="sourceLineNo">080</span> }<a name="line.80"></a>
<span class="sourceLineNo">081</span> return command;<a name="line.81"></a>
<span class="sourceLineNo">082</span> }<a name="line.82"></a>
<span class="sourceLineNo">083</span><a name="line.83"></a>
<span class="sourceLineNo">084</span> default List&lt;String&gt; getTabCompletions(CommandIssuer sender, String alias, String[] args) {<a name="line.84"></a>
<span class="sourceLineNo">085</span> return getTabCompletions(sender, alias, args, false);<a name="line.85"></a>
<span class="sourceLineNo">086</span> }<a name="line.86"></a>
<span class="sourceLineNo">087</span><a name="line.87"></a>
<span class="sourceLineNo">088</span> default List&lt;String&gt; getTabCompletions(CommandIssuer sender, String alias, String[] args, boolean commandsOnly) {<a name="line.88"></a>
<span class="sourceLineNo">089</span> return getTabCompletions(sender, alias, args, commandsOnly, false);<a name="line.89"></a>
<span class="sourceLineNo">090</span> }<a name="line.90"></a>
<span class="sourceLineNo">091</span><a name="line.91"></a>
<span class="sourceLineNo">092</span> default List&lt;String&gt; getTabCompletions(CommandIssuer sender, String alias, String[] args, boolean commandsOnly, boolean isAsync) {<a name="line.92"></a>
<span class="sourceLineNo">093</span> Set&lt;String&gt; completions = new HashSet&lt;&gt;();<a name="line.93"></a>
<span class="sourceLineNo">094</span> getChildren().forEach(child -&gt; {<a name="line.94"></a>
<span class="sourceLineNo">095</span> if (!commandsOnly) {<a name="line.95"></a>
<span class="sourceLineNo">096</span> completions.addAll(child.tabComplete(sender, alias, args, isAsync));<a name="line.96"></a>
<span class="sourceLineNo">097</span> }<a name="line.97"></a>
<span class="sourceLineNo">098</span> completions.addAll(child.getCommandsForCompletion(sender, args));<a name="line.98"></a>
<span class="sourceLineNo">099</span> });<a name="line.99"></a>
<span class="sourceLineNo">100</span> return new ArrayList&lt;&gt;(completions);<a name="line.100"></a>
<span class="sourceLineNo">101</span> }<a name="line.101"></a>
<span class="sourceLineNo">102</span><a name="line.102"></a>
<span class="sourceLineNo">103</span><a name="line.103"></a>
<span class="sourceLineNo">104</span> default RegisteredCommand getDefaultRegisteredCommand() {<a name="line.104"></a>
<span class="sourceLineNo">105</span> BaseCommand defCommand = this.getDefCommand();<a name="line.105"></a>
<span class="sourceLineNo">106</span> if (defCommand != null) {<a name="line.106"></a>
<span class="sourceLineNo">107</span> return defCommand.getDefaultRegisteredCommand();<a name="line.107"></a>
<span class="sourceLineNo">108</span> }<a name="line.108"></a>
<span class="sourceLineNo">109</span> return null;<a name="line.109"></a>
<span class="sourceLineNo">110</span> }<a name="line.110"></a>
<span class="sourceLineNo">111</span><a name="line.111"></a>
<span class="sourceLineNo">112</span> default BaseCommand getDefCommand(){<a name="line.112"></a>
<span class="sourceLineNo">113</span> return null;<a name="line.113"></a>
<span class="sourceLineNo">114</span> }<a name="line.114"></a>
<span class="sourceLineNo">115</span><a name="line.115"></a>
<span class="sourceLineNo">116</span><a name="line.116"></a>
<span class="sourceLineNo">117</span> default String getDescription() {<a name="line.117"></a>
<span class="sourceLineNo">118</span> final RegisteredCommand cmd = this.getDefaultRegisteredCommand();<a name="line.118"></a>
<span class="sourceLineNo">119</span> if (cmd != null) {<a name="line.119"></a>
<span class="sourceLineNo">120</span> return cmd.getHelpText();<a name="line.120"></a>
<span class="sourceLineNo">121</span> }<a name="line.121"></a>
<span class="sourceLineNo">122</span> BaseCommand defCommand = getDefCommand();<a name="line.122"></a>
<span class="sourceLineNo">123</span> if (defCommand != null &amp;&amp; defCommand.description != null) {<a name="line.123"></a>
<span class="sourceLineNo">124</span> return defCommand.description;<a name="line.124"></a>
<span class="sourceLineNo">125</span> }<a name="line.125"></a>
<span class="sourceLineNo">126</span> return "";<a name="line.126"></a>
<span class="sourceLineNo">127</span> }<a name="line.127"></a>
<span class="sourceLineNo">128</span><a name="line.128"></a>
<span class="sourceLineNo">129</span><a name="line.129"></a>
<span class="sourceLineNo">130</span> default String getUsage() {<a name="line.130"></a>
<span class="sourceLineNo">131</span> final RegisteredCommand cmd = this.getDefaultRegisteredCommand();<a name="line.131"></a>
<span class="sourceLineNo">132</span> if (cmd != null) {<a name="line.132"></a>
<span class="sourceLineNo">133</span> return cmd.syntaxText != null ? cmd.syntaxText : "";<a name="line.133"></a>
<span class="sourceLineNo">134</span> }<a name="line.134"></a>
<span class="sourceLineNo">135</span> return "";<a name="line.135"></a>
<span class="sourceLineNo">136</span> }<a name="line.136"></a>
<span class="sourceLineNo">137</span>}<a name="line.137"></a>