<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.2) on Thu May 13 19:06:46 PDT 2021 -->
<title>Index (Apache NLPCraft - Java Client 0.7.5)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-05-13">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Index (Apache NLPCraft - Java Client 0.7.5)";
        }
    }
    catch(err) {
    }
//-->
var pathtoroot = "./";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav"><link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">                             <script src="./resources/sh/scripts/XRegExp.js" type="text/javascript"></script>                             <script src="./resources/sh/scripts/shCore.js" type="text/javascript"></script>                             <script src="./resources/sh/scripts/shAutoloader.js" type="text/javascript"></script>                             <link href="./resources/sh/styles/shCoreNlpCraft.css" rel="stylesheet" type="text/css" title="Style">                             <link href="./resources/sh/styles/shThemeNlpCraft.css" rel="stylesheet" type="text/css" title="Style">                             <link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">                             <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">                             <script async defer src="https://buttons.github.io/buttons.js"></script>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="org/apache/nlpcraft/client/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">Apache NLPCraft - Java Client <span style="font-size: 80%">0.7.5</span></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="contentContainer"><a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:U">U</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a><a id="I:A">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#addCompany(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.Map)">addCompany(String, String, String, String, String, String, String, String, String, String, String, String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Adds new company with given parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#addFeedback(java.lang.String,double,java.lang.String,java.lang.Long,java.lang.String)">addFeedback(String, double, String, Long, String)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Adds feedback for given request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#addUser(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,java.util.Map,java.lang.String)">addUser(String, String, String, String, String, boolean, Map&lt;String, String&gt;, String)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Adds new user to the company of the currently signed in user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#ask(java.lang.String,java.lang.String)">ask(String, String)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Submits request for asynchronous processing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#ask(java.lang.String,java.lang.String,java.util.Map,boolean,java.lang.Long,java.lang.String)">ask(String, String, Map&lt;String, Object&gt;, boolean, Long, String)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Submits request for asynchronous processing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#askSync(java.lang.String,java.lang.String)">askSync(String, String)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#askSync(java.lang.String,java.lang.String,java.util.Map,boolean,java.lang.Long,java.lang.String)">askSync(String, String, Map&lt;String, Object&gt;, boolean, Long, String)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Submits request for synchronous processing.</div>
</dd>
</dl>
<a id="I:B">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientBuilder.html#build()">build()</a></span> - Method in class org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientBuilder.html" title="class in org.apache.nlpcraft.client">NCClientBuilder</a></dt>
<dd>
<div class="block">Builds a client instance with configured settings.</div>
</dd>
</dl>
<a id="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#cancel(java.util.Set,java.lang.Long,java.lang.String)">cancel(Set&lt;String&gt;, Long, String)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Cancels the previously submitted sentence and removes its result, if any, from the server storage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#check(java.util.Set,java.lang.Integer,java.lang.Long,java.lang.String)">check(Set&lt;String&gt;, Integer, Long, String)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Gets the status and result (OK or failure) of the previously submitted requests.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#clearConversation(java.lang.String,java.lang.Long,java.lang.String)">clearConversation(String, Long, String)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Clears conversation context for the given model and the specified user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#clearDialog(java.lang.String,java.lang.Long,java.lang.String)">clearDialog(String, Long, String)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Clears the dialog flow for the given model ID and specified user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#close()">close()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Closes the client and signs out from the REST server.</div>
</dd>
</dl>
<a id="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#deleteCompany()">deleteCompany()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Deletes company and all its users and other associated data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#deleteFeedback(java.lang.Long)">deleteFeedback(Long)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Deletes feedback record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#deleteUser(java.lang.Long,java.lang.String)">deleteUser(Long, String)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Deletes given user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientBuilder.html#DFLT_BASEURL">DFLT_BASEURL</a></span> - Static variable in class org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientBuilder.html" title="class in org.apache.nlpcraft.client">NCClientBuilder</a></dt>
<dd>
<div class="block">Default public REST API URL (endpoint).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientBuilder.html#DFLT_CANCEL_ON_EXIT">DFLT_CANCEL_ON_EXIT</a></span> - Static variable in class org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientBuilder.html" title="class in org.apache.nlpcraft.client">NCClientBuilder</a></dt>
<dd>
<div class="block">Default cancel on exit flag.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientBuilder.html#DFLT_EMAIL">DFLT_EMAIL</a></span> - Static variable in class org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientBuilder.html" title="class in org.apache.nlpcraft.client">NCClientBuilder</a></dt>
<dd>
<div class="block">Default user login email.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientBuilder.html#DFLT_EMBEDDED_PROBE">DFLT_EMBEDDED_PROBE</a></span> - Static variable in class org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientBuilder.html" title="class in org.apache.nlpcraft.client">NCClientBuilder</a></dt>
<dd>
<div class="block">Default embedded probe mode.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientBuilder.html#DFLT_PWD">DFLT_PWD</a></span> - Static variable in class org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientBuilder.html" title="class in org.apache.nlpcraft.client">NCClientBuilder</a></dt>
<dd>
<div class="block">Default user login password.</div>
</dd>
</dl>
<a id="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCCompany.html#getAddress()">getAddress()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCCompany.html" title="interface in org.apache.nlpcraft.client">NCCompany</a></dt>
<dd>
<div class="block">Gets optional street address of the company.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCNewCompany.html#getAdminUserId()">getAdminUserId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCNewCompany.html" title="interface in org.apache.nlpcraft.client">NCNewCompany</a></dt>
<dd>
<div class="block">Gets ID of the first admin user for the newly created company.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#getAllFeedback(java.lang.String,java.lang.Long,java.lang.String)">getAllFeedback(String, Long, String)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Gets all feedback records for given request ID and user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#getAllUsers()">getAllUsers()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Gets all user records for the current signed in user company.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCUser.html#getAvatarUrl()">getAvatarUrl()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCUser.html" title="interface in org.apache.nlpcraft.client">NCUser</a></dt>
<dd>
<div class="block">Gets optional user avatar URl.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCCompany.html#getCity()">getCity()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCCompany.html" title="interface in org.apache.nlpcraft.client">NCCompany</a></dt>
<dd>
<div class="block">Gets optional city of the company address.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#getClientBaseUrl()">getClientBaseUrl()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Gets base URL this client is configured with.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#getClientUserEmail()">getClientUserEmail()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Gets current signed in user email for this client.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#getClientUserPassword()">getClientUserPassword()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Gets current signed in user password for this client.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCFeedback.html#getComment()">getComment()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCFeedback.html" title="interface in org.apache.nlpcraft.client">NCFeedback</a></dt>
<dd>
<div class="block">Gets optional comment associated with this feedback record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#getCompany()">getCompany()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Gets the company descriptor for the current signed in user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCCompany.html#getCountry()">getCountry()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCCompany.html" title="interface in org.apache.nlpcraft.client">NCCompany</a></dt>
<dd>
<div class="block">Gets optional country of the company address.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCFeedback.html#getCreateTimestamp()">getCreateTimestamp()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCFeedback.html" title="interface in org.apache.nlpcraft.client">NCFeedback</a></dt>
<dd>
<div class="block">Gets timestamp of when this feedback record was created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCSuggestionData.html#getDurationMs()">getDurationMs()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCSuggestionData.html" title="interface in org.apache.nlpcraft.client">NCSuggestionData</a></dt>
<dd>
<div class="block">Gets duration of the operation in milliseconds.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCUser.html#getEmail()">getEmail()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCUser.html" title="interface in org.apache.nlpcraft.client">NCUser</a></dt>
<dd>
<div class="block">Gets user email.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCSuggestionData.html#getError()">getError()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCSuggestionData.html" title="interface in org.apache.nlpcraft.client">NCSuggestionData</a></dt>
<dd>
<div class="block">Gets optional error message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCResult.html#getErrorCode()">getErrorCode()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCResult.html" title="interface in org.apache.nlpcraft.client">NCResult</a></dt>
<dd>
<div class="block">Gets optional error code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCResult.html#getErrorMessage()">getErrorMessage()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCResult.html" title="interface in org.apache.nlpcraft.client">NCResult</a></dt>
<dd>
<div class="block">Gets optional error message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCUser.html#getExternalId()">getExternalId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCUser.html" title="interface in org.apache.nlpcraft.client">NCUser</a></dt>
<dd>
<div class="block">Gets external "on-behalf-of" user ID.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCUser.html#getFirstName()">getFirstName()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCUser.html" title="interface in org.apache.nlpcraft.client">NCUser</a></dt>
<dd>
<div class="block">Gets user first name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getHostAddress()">getHostAddress()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets the host IP address for the probe's runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getHostName()">getHostName()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets the hostname for the probe's runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCCompany.html#getId()">getId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCCompany.html" title="interface in org.apache.nlpcraft.client">NCCompany</a></dt>
<dd>
<div class="block">Gets company ID.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCFeedback.html#getId()">getId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCFeedback.html" title="interface in org.apache.nlpcraft.client">NCFeedback</a></dt>
<dd>
<div class="block">Gets ID of the feedback record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCModel.html#getId()">getId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCModel.html" title="interface in org.apache.nlpcraft.client">NCModel</a></dt>
<dd>
<div class="block">Gets unique, <i>immutable</i> ID of this model.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getId()">getId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets probe ID.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCUser.html#getId()">getId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCUser.html" title="interface in org.apache.nlpcraft.client">NCUser</a></dt>
<dd>
<div class="block">Gets user ID.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getJavaVendor()">getJavaVendor()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets the Java/JVM vendor name for the probe's runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getJavaVersion()">getJavaVersion()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets the Java/JVM version for the probe's runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCUser.html#getLastName()">getLastName()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCUser.html" title="interface in org.apache.nlpcraft.client">NCUser</a></dt>
<dd>
<div class="block">Gets user last name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCResult.html#getLogHolder()">getLogHolder()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCResult.html" title="interface in org.apache.nlpcraft.client">NCResult</a></dt>
<dd>
<div class="block">Gets optional processing log holder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getMacAddress()">getMacAddress()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets MAC address for the probe's runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCSuggestionData.html#getMinScore()">getMinScore()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCSuggestionData.html" title="interface in org.apache.nlpcraft.client">NCSuggestionData</a></dt>
<dd>
<div class="block">Gets minimal score used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCResult.html#getModelId()">getModelId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCResult.html" title="interface in org.apache.nlpcraft.client">NCResult</a></dt>
<dd>
<div class="block">Gets ID of the model that request was submitted with.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCSuggestionData.html#getModelId()">getModelId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCSuggestionData.html" title="interface in org.apache.nlpcraft.client">NCSuggestionData</a></dt>
<dd>
<div class="block">Gets model ID.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getModels()">getModels()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets a non-empty list of models deployed by this probe.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCCompany.html#getName()">getName()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCCompany.html" title="interface in org.apache.nlpcraft.client">NCCompany</a></dt>
<dd>
<div class="block">Gets name of the company.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCModel.html#getName()">getName()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCModel.html" title="interface in org.apache.nlpcraft.client">NCModel</a></dt>
<dd>
<div class="block">Gets descriptive name of this model.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getOsArchitecture()">getOsArchitecture()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets OS architecture for the probe's runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getOsName()">getOsName()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets OS name for the probe's runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getOsVersion()">getOsVersion()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets OS version for the probe's runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCCompany.html#getPostalCode()">getPostalCode()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCCompany.html" title="interface in org.apache.nlpcraft.client">NCCompany</a></dt>
<dd>
<div class="block">Gets optional postal code of the company address.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getProbeApiDate()">getProbeApiDate()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets release date of the probe API.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getProbeApiVersion()">getProbeApiVersion()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Probe API version.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getProbeGuid()">getProbeGuid()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets internal globally unique ID of the probe runtime instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCResult.html#getProbeId()">getProbeId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCResult.html" title="interface in org.apache.nlpcraft.client">NCResult</a></dt>
<dd>
<div class="block">Gets ID of the probe the request was processed by.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#getProbes()">getProbes()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Gets all active (connected to the REST server) probes for the current signed in user company.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getProbeToken()">getProbeToken()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets probe token.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCCompany.html#getProperties()">getProperties()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCCompany.html" title="interface in org.apache.nlpcraft.client">NCCompany</a></dt>
<dd>
<div class="block">Gets company properties (metadata).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCUser.html#getProperties()">getProperties()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCUser.html" title="interface in org.apache.nlpcraft.client">NCUser</a></dt>
<dd>
<div class="block">Gets user properties (metadata).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCCompany.html#getRegion()">getRegion()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCCompany.html" title="interface in org.apache.nlpcraft.client">NCCompany</a></dt>
<dd>
<div class="block">Gets optional region of the company address.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCResult.html#getResultBody()">getResultBody()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCResult.html" title="interface in org.apache.nlpcraft.client">NCResult</a></dt>
<dd>
<div class="block">Gets the result body as stringified JSON object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCResult.html#getResultType()">getResultType()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCResult.html" title="interface in org.apache.nlpcraft.client">NCResult</a></dt>
<dd>
<div class="block">Gets the result type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCFeedback.html#getScore()">getScore()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCFeedback.html" title="interface in org.apache.nlpcraft.client">NCFeedback</a></dt>
<dd>
<div class="block">Gets <code>[0, 1]</code> score associated with this feedback record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCSuggestion.html#getScore()">getScore()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCSuggestion.html" title="interface in org.apache.nlpcraft.client">NCSuggestion</a></dt>
<dd>
<div class="block">Gets score of the suggested synonym.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientException.html#getServerCode()">getServerCode()</a></span> - Method in exception org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientException.html" title="class in org.apache.nlpcraft.client">NCClientException</a></dt>
<dd>
<div class="block">Gets optional REST server error code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCFeedback.html#getServerRequestId()">getServerRequestId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCFeedback.html" title="interface in org.apache.nlpcraft.client">NCFeedback</a></dt>
<dd>
<div class="block">Gets ID of the server request this feedback record is associated with.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCResult.html#getServerRequestId()">getServerRequestId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCResult.html" title="interface in org.apache.nlpcraft.client">NCResult</a></dt>
<dd>
<div class="block">Gets ID of the server request ID.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getStartTimestamp()">getStartTimestamp()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets probe start time in UTC timezone.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCSuggestion.html#getSynonym()">getSynonym()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCSuggestion.html" title="interface in org.apache.nlpcraft.client">NCSuggestion</a></dt>
<dd>
<div class="block">Gets synonym.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCSuggestionData.html#getSynonyms()">getSynonyms()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCSuggestionData.html" title="interface in org.apache.nlpcraft.client">NCSuggestionData</a></dt>
<dd>
<div class="block">Gets list of synonym suggestions for each model element ID.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCResult.html#getText()">getText()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCResult.html" title="interface in org.apache.nlpcraft.client">NCResult</a></dt>
<dd>
<div class="block">Gets the original text of the request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCSuggestionData.html#getTimestamp()">getTimestamp()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCSuggestionData.html" title="interface in org.apache.nlpcraft.client">NCSuggestionData</a></dt>
<dd>
<div class="block">Gets timestamp of the operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getTimezoneAbbreviation()">getTimezoneAbbreviation()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets timezone official abbreviation for the probe's runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getTimezoneId()">getTimezoneId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets timezone ID for the probe's runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getTimezoneName()">getTimezoneName()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets timezone name for the probe's runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCNewCompany.html#getToken()">getToken()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCNewCompany.html" title="interface in org.apache.nlpcraft.client">NCNewCompany</a></dt>
<dd>
<div class="block">Company probe token.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#getUser(java.lang.Long,java.lang.String)">getUser(Long, String)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Gets user record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCFeedback.html#getUserId()">getUserId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCFeedback.html" title="interface in org.apache.nlpcraft.client">NCFeedback</a></dt>
<dd>
<div class="block">Gets ID of the user that created this feedback record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCResult.html#getUserId()">getUserId()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCResult.html" title="interface in org.apache.nlpcraft.client">NCResult</a></dt>
<dd>
<div class="block">Gets ID of the user submitted the request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCProbe.html#getUserName()">getUserName()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client">NCProbe</a></dt>
<dd>
<div class="block">Gets the system user name for the probe's runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCModel.html#getVersion()">getVersion()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCModel.html" title="interface in org.apache.nlpcraft.client">NCModel</a></dt>
<dd>
<div class="block">Gets the version of this model using semantic versioning.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCSuggestionData.html#getWarnings()">getWarnings()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCSuggestionData.html" title="interface in org.apache.nlpcraft.client">NCSuggestionData</a></dt>
<dd>
<div class="block">Optional list of warnings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCCompany.html#getWebsite()">getWebsite()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCCompany.html" title="interface in org.apache.nlpcraft.client">NCCompany</a></dt>
<dd>
<div class="block">Gets optional website of the company.</div>
</dd>
</dl>
<a id="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCUser.html#isAdmin()">isAdmin()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCUser.html" title="interface in org.apache.nlpcraft.client">NCUser</a></dt>
<dd>
<div class="block">Gets whether or not this user has administrative privileges.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#isClientCancelOnExit()">isClientCancelOnExit()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Gets whether or not this client is configured with cancel-on-exit logic.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#isClientEmbeddedMode()">isClientEmbeddedMode()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Gets whether or not this client is configured with embedded probe.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCResult.html#isReady()">isReady()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCResult.html" title="interface in org.apache.nlpcraft.client">NCResult</a></dt>
<dd>
<div class="block">Gets ready status of the request.</div>
</dd>
</dl>
<a id="I:N">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client"><span class="typeNameLink">NCClient</span></a> - Interface in <a href="org/apache/nlpcraft/client/package-summary.html">org.apache.nlpcraft.client</a></dt>
<dd>
<div class="block"><b>Java client API</b> provides native JVM wrapper for NLPCraft
 <a target=_ href="https://nlpcraft.apache.org/using-rest.html">REST APIs</a>.</div>
</dd>
<dt><a href="org/apache/nlpcraft/client/NCClientBuilder.html" title="class in org.apache.nlpcraft.client"><span class="typeNameLink">NCClientBuilder</span></a> - Class in <a href="org/apache/nlpcraft/client/package-summary.html">org.apache.nlpcraft.client</a></dt>
<dd>
<div class="block">Builder for the <a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client"><code>NCClient</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientBuilder.html#%3Cinit%3E()">NCClientBuilder()</a></span> - Constructor for class org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientBuilder.html" title="class in org.apache.nlpcraft.client">NCClientBuilder</a></dt>
<dd>
<div class="block">Creates new client builder with all default settings.</div>
</dd>
<dt><a href="org/apache/nlpcraft/client/NCClientException.html" title="class in org.apache.nlpcraft.client"><span class="typeNameLink">NCClientException</span></a> - Exception in <a href="org/apache/nlpcraft/client/package-summary.html">org.apache.nlpcraft.client</a></dt>
<dd>
<div class="block">Java client exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientException.html#%3Cinit%3E(java.lang.String)">NCClientException(String)</a></span> - Constructor for exception org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientException.html" title="class in org.apache.nlpcraft.client">NCClientException</a></dt>
<dd>
<div class="block">Creates new exception with given error message.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientException.html#%3Cinit%3E(java.lang.String,java.lang.String)">NCClientException(String, String)</a></span> - Constructor for exception org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientException.html" title="class in org.apache.nlpcraft.client">NCClientException</a></dt>
<dd>
<div class="block">Creates new exception with given error message and server error code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">NCClientException(String, Throwable)</a></span> - Constructor for exception org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientException.html" title="class in org.apache.nlpcraft.client">NCClientException</a></dt>
<dd>
<div class="block">Creates new exception with given error message and the cause.</div>
</dd>
<dt><a href="org/apache/nlpcraft/client/NCCompany.html" title="interface in org.apache.nlpcraft.client"><span class="typeNameLink">NCCompany</span></a> - Interface in <a href="org/apache/nlpcraft/client/package-summary.html">org.apache.nlpcraft.client</a></dt>
<dd>
<div class="block">Company descriptor.</div>
</dd>
<dt><a href="org/apache/nlpcraft/client/NCFeedback.html" title="interface in org.apache.nlpcraft.client"><span class="typeNameLink">NCFeedback</span></a> - Interface in <a href="org/apache/nlpcraft/client/package-summary.html">org.apache.nlpcraft.client</a></dt>
<dd>
<div class="block">Feedback record descriptor.</div>
</dd>
<dt><a href="org/apache/nlpcraft/client/NCModel.html" title="interface in org.apache.nlpcraft.client"><span class="typeNameLink">NCModel</span></a> - Interface in <a href="org/apache/nlpcraft/client/package-summary.html">org.apache.nlpcraft.client</a></dt>
<dd>
<div class="block">Data model descriptor.</div>
</dd>
<dt><a href="org/apache/nlpcraft/client/NCNewCompany.html" title="interface in org.apache.nlpcraft.client"><span class="typeNameLink">NCNewCompany</span></a> - Interface in <a href="org/apache/nlpcraft/client/package-summary.html">org.apache.nlpcraft.client</a></dt>
<dd>
<div class="block">New company descriptor.</div>
</dd>
<dt><a href="org/apache/nlpcraft/client/NCProbe.html" title="interface in org.apache.nlpcraft.client"><span class="typeNameLink">NCProbe</span></a> - Interface in <a href="org/apache/nlpcraft/client/package-summary.html">org.apache.nlpcraft.client</a></dt>
<dd>
<div class="block">Data probe descriptor.</div>
</dd>
<dt><a href="org/apache/nlpcraft/client/NCResult.html" title="interface in org.apache.nlpcraft.client"><span class="typeNameLink">NCResult</span></a> - Interface in <a href="org/apache/nlpcraft/client/package-summary.html">org.apache.nlpcraft.client</a></dt>
<dd>
<div class="block">Request result descriptor.</div>
</dd>
<dt><a href="org/apache/nlpcraft/client/NCSuggestion.html" title="interface in org.apache.nlpcraft.client"><span class="typeNameLink">NCSuggestion</span></a> - Interface in <a href="org/apache/nlpcraft/client/package-summary.html">org.apache.nlpcraft.client</a></dt>
<dd>
<div class="block">Individual synonym suggestion returned from <a href="org/apache/nlpcraft/client/NCSuggestionData.html#getSynonyms()"><code>NCSuggestionData.getSynonyms()</code></a> method.</div>
</dd>
<dt><a href="org/apache/nlpcraft/client/NCSuggestionData.html" title="interface in org.apache.nlpcraft.client"><span class="typeNameLink">NCSuggestionData</span></a> - Interface in <a href="org/apache/nlpcraft/client/package-summary.html">org.apache.nlpcraft.client</a></dt>
<dd>
<div class="block">Result container returned by <a href="org/apache/nlpcraft/client/NCClient.html#suggestSynonyms(java.lang.String,java.lang.Double)"><code>NCClient.suggestSynonyms(String, Double)</code></a> method.</div>
</dd>
<dt><a href="org/apache/nlpcraft/client/NCUser.html" title="interface in org.apache.nlpcraft.client"><span class="typeNameLink">NCUser</span></a> - Interface in <a href="org/apache/nlpcraft/client/package-summary.html">org.apache.nlpcraft.client</a></dt>
<dd>
<div class="block">User record descriptor.</div>
</dd>
</dl>
<a id="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="org/apache/nlpcraft/client/package-summary.html">org.apache.nlpcraft.client</a> - package org.apache.nlpcraft.client</dt>
<dd>
<div class="block">NLPCraft Java Client API - provides native wrapper for
 <a target=_ href="https://nlpcraft.apache.org/using-rest.html">REST APIs</a> for any JVM-based languages
 like Java, Scala, Kotlin or Groovy.</div>
</dd>
</dl>
<a id="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#resetCompanyToken()">resetCompanyToken()</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Sets and returns new company probe authentication token.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#resetUserPassword(java.lang.Long,java.lang.String)">resetUserPassword(Long, String)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Resets password for the given user.</div>
</dd>
</dl>
<a id="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientBuilder.html#setBaseUrl(java.lang.String)">setBaseUrl(String)</a></span> - Method in class org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientBuilder.html" title="class in org.apache.nlpcraft.client">NCClientBuilder</a></dt>
<dd>
<div class="block">Sets custom base URL of the REST server for this builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientBuilder.html#setClientSupplier(java.util.function.Supplier)">setClientSupplier(Supplier&lt;CloseableHttpClient&gt;)</a></span> - Method in class org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientBuilder.html" title="class in org.apache.nlpcraft.client">NCClientBuilder</a></dt>
<dd>
<div class="block">Sets custom HTTP client for this builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientBuilder.html#setEmbeddedProbe(boolean)">setEmbeddedProbe(boolean)</a></span> - Method in class org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientBuilder.html" title="class in org.apache.nlpcraft.client">NCClientBuilder</a></dt>
<dd>
<div class="block">Sets embedded probe mode flag.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientBuilder.html#setLogin(java.lang.String,java.lang.String)">setLogin(String, String)</a></span> - Method in class org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientBuilder.html" title="class in org.apache.nlpcraft.client">NCClientBuilder</a></dt>
<dd>
<div class="block">Sets custom login user account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClientBuilder.html#setRequestConfig(org.apache.http.client.config.RequestConfig)">setRequestConfig(RequestConfig)</a></span> - Method in class org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClientBuilder.html" title="class in org.apache.nlpcraft.client">NCClientBuilder</a></dt>
<dd>
<div class="block">Sets the custom request config for this builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#suggestSynonyms(java.lang.String,java.lang.Double)">suggestSynonyms(String, Double)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Runs <a href="https://nlpcraft.apache.org/tools/syn_tool.html">synonym suggestion tool</a> for given model
 ID and minimal score.</div>
</dd>
</dl>
<a id="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#updateCompany(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.Map)">updateCompany(String, String, String, String, String, String, String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Updates company information for the current signed in user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#updateUser(long,java.lang.String,java.lang.String,java.lang.String,java.util.Map)">updateUser(long, String, String, String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Updates given user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/nlpcraft/client/NCClient.html#updateUserAdmin(java.lang.Long,boolean)">updateUserAdmin(Long, boolean)</a></span> - Method in interface org.apache.nlpcraft.client.<a href="org/apache/nlpcraft/client/NCClient.html" title="interface in org.apache.nlpcraft.client">NCClient</a></dt>
<dd>
<div class="block">Grants or denies given user administrative privileges.</div>
</dd>
</dl>
<a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:U">U</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a></div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="org/apache/nlpcraft/client/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><span style="vertical-align: super">Apache NLPCraft - Java Client 0.7.5</span>                             <a style="vertical-align: super; margin-right: 10px" href="https://github.com/apache/incubator-nlpcraft-java-client" target="github"><i class="fa fa-github github-logo"></i></a>                             <a class="github-button" href="https://github.com/apache/incubator-nlpcraft-java-client/subscription" data-icon="octicon-eye" aria-label="Watch on GitHub">Watch</a>                             <a class="github-button" href="https://github.com/apache/incubator-nlpcraft-java-client" data-icon="octicon-star" aria-label="Star on GitHub">Star</a>                             <a class="github-button" href="https://github.com/apache/incubator-nlpcraft-java-client/fork" data-icon="octicon-repo-forked" aria-label="Fork on GitHub">Fork</a>                             <script type="text/javascript">                                 SyntaxHighlighter.defaults["auto-links"] = false;                                 SyntaxHighlighter.defaults["tab-size"] = 2;                                  SyntaxHighlighter.autoloader(                                     'java                   ./resources/sh/scripts/shBrushJava.js',                                     'js jscript javascript  ./resources/sh/scripts/shBrushJScript.js',                                     'text plain             ./resources/sh/scripts/shBrushPlain.js',                                     'py python              ./resources/sh/scripts/shBrushPython.js',                                     'ruby rails ror rb      ./resources/sh/scripts/shBrushRuby.js',                                     'scala                  ./resources/sh/scripts/shBrushScala.js',                                     'sql                    ./resources/sh/scripts/shBrushSql.js',                                     'xml xhtml xslt html    ./resources/sh/scripts/shBrushXml.js'                                 );                                 SyntaxHighlighter.all();                             </script></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small><center>                                 <br/>                                 <span style="font-size: larger">Copyright &#169; 2021 Apache Software Foundation</span>                                 <br/>                                 <br/>                                 <img src="https://www.apache.org/img/ASF20thAnniversary.jpg" height="64px">                             </center></small></p>
</footer>
</body>
</html>
