<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_161) on Wed May 13 13:23:49 PDT 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (Apache NLPCraft - Java Client 0.5.0)</title>
<meta name="date" content="2020-05-13">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Index (Apache NLPCraft - Java Client 0.5.0)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<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">                             <script async defer src="https://buttons.github.io/buttons.js"></script>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="org/apache/nlpcraft/client/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="org/apache/nlpcraft/client/package-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.5.0</span></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<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;<a name="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-">addCompany(String, String, String, String, String, String, String, String, String, String, 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">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-java.lang.String-boolean-java.lang.Long-java.lang.String-">ask(String, String, String, 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#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#askSync-java.lang.String-java.lang.String-java.lang.String-boolean-java.lang.Long-java.lang.String-">askSync(String, String, String, 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>
<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>
<div class="block">Submits request for synchronous processing.</div>
</dd>
</dl>
<a name="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 name="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 name="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 name="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/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/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/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/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/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 properties.</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/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/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/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/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 name="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 name="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">Java client API.</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#NCClientBuilder--">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#NCClientException-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#NCClientException-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#NCClientException-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/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 name="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 name="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 name="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>
</dl>
<a name="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-">updateCompany(String, String, String, String, String, 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">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;</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="org/apache/nlpcraft/client/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="org/apache/nlpcraft/client/package-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.5.0</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">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><center>                                 <br/>                                 <span style="font-size: larger">Copyright &#169; 2020 Apache Software Foundation</span>                                 <br/>                                 <br/>                                 <img src="https://www.apache.org/img/ASF20thAnniversary.jpg" height="64px">                             </center></small></p>
</body>
</html>
