<!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_212) on Sun Jan 26 10:16:18 PST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (guacamole-ext 1.1.0 API)</title>
<meta name="date" content="2020-01-26">
<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 (guacamole-ext 1.1.0 API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</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>
<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:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:Q">Q</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a name="I:A">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">AbstractActiveConnection</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Base implementation of an ActiveConnection, providing storage and simply
 getters/setters for its main properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html#AbstractActiveConnection--">AbstractActiveConnection()</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html" title="class in org.apache.guacamole.net.auth">AbstractActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/AbstractAuthenticatedUser.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">AbstractAuthenticatedUser</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Basic implementation of an AuthenticatedUser which uses the username to
 determine equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractAuthenticatedUser.html#AbstractAuthenticatedUser--">AbstractAuthenticatedUser()</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractAuthenticatedUser.html" title="class in org.apache.guacamole.net.auth">AbstractAuthenticatedUser</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">AbstractAuthenticationProvider</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Base implementation of AuthenticationProvider which provides default
 implementations of most functions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html#AbstractAuthenticationProvider--">AbstractAuthenticationProvider()</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth">AbstractAuthenticationProvider</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/AbstractConnection.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">AbstractConnection</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Basic implementation of a Guacamole connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnection.html#AbstractConnection--">AbstractConnection()</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnection.html" title="class in org.apache.guacamole.net.auth">AbstractConnection</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">AbstractConnectionGroup</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Basic implementation of a Guacamole connection group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html#AbstractConnectionGroup--">AbstractConnectionGroup()</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html" title="class in org.apache.guacamole.net.auth">AbstractConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/AbstractIdentifiable.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">AbstractIdentifiable</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Abstract implementation of Identifiable which provides equals() and
 hashCode() implementations which use the identifier to determine equality.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractIdentifiable.html#AbstractIdentifiable--">AbstractIdentifiable()</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractIdentifiable.html" title="class in org.apache.guacamole.net.auth">AbstractIdentifiable</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">AbstractSharingProfile</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Base implementation of a sharing profile which can be used to share a
 Guacamole connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html#AbstractSharingProfile--">AbstractSharingProfile()</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html" title="class in org.apache.guacamole.net.auth">AbstractSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">AbstractUser</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Base implementation of User which provides default implementations of
 most functions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#AbstractUser--">AbstractUser()</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">AbstractUserContext</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Base implementation of UserContext which provides default implementations of
 most functions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#AbstractUserContext--">AbstractUserContext()</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/AbstractUserGroup.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">AbstractUserGroup</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Base implementation of UserGroup which provides default implementations of
 most functions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserGroup.html#AbstractUserGroup--">AbstractUserGroup()</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserGroup.html" title="class in org.apache.guacamole.net.auth">AbstractUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">ActiveConnection</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">A pairing of username and GuacamoleTunnel representing an active usage of a
 particular connection.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/ActivityRecord.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">ActivityRecord</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">A logging record describing when a user started and ended a particular
 activity.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/ActivityRecordSet.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">ActivityRecordSet</span></a>&lt;<a href="org/apache/guacamole/net/auth/ActivityRecordSet.html" title="type parameter in ActivityRecordSet">RecordType</a> extends <a href="org/apache/guacamole/net/auth/ActivityRecord.html" title="interface in org.apache.guacamole.net.auth">ActivityRecord</a>&gt; - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">A set of all available records related to a type of activity which has a
 defined start and end time, such as a user being logged in or connected, or a
 subset of those records.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/ActivityRecordSet.SortableProperty.html" title="enum in org.apache.guacamole.net.auth"><span class="typeNameLink">ActivityRecordSet.SortableProperty</span></a> - Enum in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">All properties of activity records which can be used as sorting
 criteria.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DecoratingDirectory.html#add-ObjectType-">add(ObjectType)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DecoratingDirectory.html" title="class in org.apache.guacamole.net.auth">DecoratingDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingDirectory.html#add-ObjectType-">add(ObjectType)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingDirectory.html" title="class in org.apache.guacamole.net.auth">DelegatingDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Directory.html#add-ObjectType-">add(ObjectType)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Directory.html" title="interface in org.apache.guacamole.net.auth">Directory</a></dt>
<dd>
<div class="block">Adds the given object to the overall set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html#add-ObjectType-">add(ObjectType)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/RelatedObjectSet.html#addObjects-java.util.Set-">addObjects(Set&lt;String&gt;)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/RelatedObjectSet.html" title="interface in org.apache.guacamole.net.auth">RelatedObjectSet</a></dt>
<dd>
<div class="block">Adds the objects having the given identifiers, if not already present.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleRelatedObjectSet.html#addObjects-java.util.Set-">addObjects(Set&lt;String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleRelatedObjectSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleRelatedObjectSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html#addPermission-org.apache.guacamole.net.auth.permission.ObjectPermission.Type-java.lang.String-">addPermission(ObjectPermission.Type, String)</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">ObjectPermissionSet</a></dt>
<dd>
<div class="block">Adds the specified permission for the object having the given
 identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html#addPermission-org.apache.guacamole.net.auth.permission.SystemPermission.Type-">addPermission(SystemPermission.Type)</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">SystemPermissionSet</a></dt>
<dd>
<div class="block">Adds the specified permission.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html#addPermission-org.apache.guacamole.net.auth.permission.ObjectPermission.Type-java.lang.String-">addPermission(ObjectPermission.Type, String)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleObjectPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html#addPermission-org.apache.guacamole.net.auth.permission.SystemPermission.Type-">addPermission(SystemPermission.Type)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleSystemPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html#addPermissions-java.util.Set-">addPermissions(Set&lt;ObjectPermission&gt;)</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">ObjectPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/PermissionSet.html#addPermissions-java.util.Set-">addPermissions(Set&lt;PermissionType&gt;)</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/PermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">PermissionSet</a></dt>
<dd>
<div class="block">Adds the specified permissions, if not already granted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html#addPermissions-java.util.Set-">addPermissions(Set&lt;SystemPermission&gt;)</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">SystemPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html#addPermissions-java.util.Set-">addPermissions(Set&lt;ObjectPermission&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleObjectPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html#addPermissions-java.util.Set-">addPermissions(Set&lt;SystemPermission&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleSystemPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/StandardTokens.html#addStandardTokens-org.apache.guacamole.token.TokenFilter-">addStandardTokens(TokenFilter)</a></span> - Static method in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/StandardTokens.html" title="class in org.apache.guacamole.token">StandardTokens</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Adds tokens which are standardized by guacamole-ext to the given
 TokenFilter and which do not require a corresponding Credentials object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/StandardTokens.html#addStandardTokens-org.apache.guacamole.token.TokenFilter-org.apache.guacamole.net.auth.Credentials-">addStandardTokens(TokenFilter, Credentials)</a></span> - Static method in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/StandardTokens.html" title="class in org.apache.guacamole.token">StandardTokens</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Adds tokens which are standardized by guacamole-ext to the given
 TokenFilter using the values from the given Credentials object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/StandardTokens.html#addStandardTokens-org.apache.guacamole.token.TokenFilter-org.apache.guacamole.net.auth.AuthenticatedUser-">addStandardTokens(TokenFilter, AuthenticatedUser)</a></span> - Static method in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/StandardTokens.html" title="class in org.apache.guacamole.token">StandardTokens</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Adds tokens which are standardized by guacamole-ext to the given
 TokenFilter using the values from the given AuthenticatedUser object,
 including any associated credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AuthenticatedUser.html#ANONYMOUS_IDENTIFIER">ANONYMOUS_IDENTIFIER</a></span> - Static variable in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a></dt>
<dd>
<div class="block">The identifier reserved for representing a user that has authenticated
 anonymously.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActivityRecordSet.html#asCollection--">asCollection()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActivityRecordSet.html" title="interface in org.apache.guacamole.net.auth">ActivityRecordSet</a></dt>
<dd>
<div class="block">Returns all records within this set as a standard Collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.html#asCollection--">asCollection()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleActivityRecordSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.html#asCollection--">asCollection()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionRecordSet</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/User.Attribute.html#Attribute--">Attribute()</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/User.Attribute.html" title="class in org.apache.guacamole.net.auth">User.Attribute</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/Attributes.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">Attributes</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">An object which is associated with a set of arbitrary attributes, defined
 as name/value pairs.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">AuthenticatedUser</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">A user of the Guacamole web application who has been authenticated by an
 AuthenticationProvider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html#authenticateUser-org.apache.guacamole.net.auth.Credentials-">authenticateUser(Credentials)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth">AbstractAuthenticationProvider</a></dt>
<dd>
<div class="block">Returns an AuthenticatedUser representing the user authenticated by the
 given credentials, if any.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AuthenticationProvider.html#authenticateUser-org.apache.guacamole.net.auth.Credentials-">authenticateUser(Credentials)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AuthenticationProvider.html" title="interface in org.apache.guacamole.net.auth">AuthenticationProvider</a></dt>
<dd>
<div class="block">Returns an AuthenticatedUser representing the user authenticated by the
 given credentials, if any.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.html#authenticateUser-org.apache.guacamole.net.auth.Credentials-">authenticateUser(Credentials)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth.simple">SimpleAuthenticationProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/listener/AuthenticationFailureListener.html#authenticationFailed-org.apache.guacamole.net.event.AuthenticationFailureEvent-">authenticationFailed(AuthenticationFailureEvent)</a></span> - Method in interface org.apache.guacamole.net.event.listener.<a href="org/apache/guacamole/net/event/listener/AuthenticationFailureListener.html" title="interface in org.apache.guacamole.net.event.listener">AuthenticationFailureListener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Event hook which fires immediately after a user's authentication attempt
 fails.</div>
</dd>
<dt><a href="org/apache/guacamole/net/event/AuthenticationFailureEvent.html" title="class in org.apache.guacamole.net.event"><span class="typeNameLink">AuthenticationFailureEvent</span></a> - Class in <a href="org/apache/guacamole/net/event/package-summary.html">org.apache.guacamole.net.event</a></dt>
<dd>
<div class="block">An event which is triggered whenever a user's credentials fail to be
 authenticated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/AuthenticationFailureEvent.html#AuthenticationFailureEvent-org.apache.guacamole.net.auth.Credentials-">AuthenticationFailureEvent(Credentials)</a></span> - Constructor for class org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/AuthenticationFailureEvent.html" title="class in org.apache.guacamole.net.event">AuthenticationFailureEvent</a></dt>
<dd>
<div class="block">Creates a new AuthenticationFailureEvent which represents the failure
 to authenticate the given credentials.</div>
</dd>
<dt><a href="org/apache/guacamole/net/event/listener/AuthenticationFailureListener.html" title="interface in org.apache.guacamole.net.event.listener"><span class="typeNameLink">AuthenticationFailureListener</span></a> - Interface in <a href="org/apache/guacamole/net/event/listener/package-summary.html">org.apache.guacamole.net.event.listener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Listeners should instead implement the <a href="org/apache/guacamole/net/event/listener/Listener.html" title="interface in org.apache.guacamole.net.event.listener"><code>Listener</code></a> interface.</span></div>
</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/AuthenticationProvider.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">AuthenticationProvider</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Provides means of authorizing users and for accessing and managing data
 associated with those users.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/listener/AuthenticationSuccessListener.html#authenticationSucceeded-org.apache.guacamole.net.event.AuthenticationSuccessEvent-">authenticationSucceeded(AuthenticationSuccessEvent)</a></span> - Method in interface org.apache.guacamole.net.event.listener.<a href="org/apache/guacamole/net/event/listener/AuthenticationSuccessListener.html" title="interface in org.apache.guacamole.net.event.listener">AuthenticationSuccessListener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Event hook which fires immediately after a user's authentication attempt
 succeeds.</div>
</dd>
<dt><a href="org/apache/guacamole/net/event/AuthenticationSuccessEvent.html" title="class in org.apache.guacamole.net.event"><span class="typeNameLink">AuthenticationSuccessEvent</span></a> - Class in <a href="org/apache/guacamole/net/event/package-summary.html">org.apache.guacamole.net.event</a></dt>
<dd>
<div class="block">An event which is triggered whenever a user's credentials pass
 authentication.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/AuthenticationSuccessEvent.html#AuthenticationSuccessEvent-org.apache.guacamole.net.auth.AuthenticatedUser-">AuthenticationSuccessEvent(AuthenticatedUser)</a></span> - Constructor for class org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/AuthenticationSuccessEvent.html" title="class in org.apache.guacamole.net.event">AuthenticationSuccessEvent</a></dt>
<dd>
<div class="block">Creates a new AuthenticationSuccessEvent which represents a successful
 authentication attempt by the user identified by the given
 AuthenticatedUser object.</div>
</dd>
<dt><a href="org/apache/guacamole/net/event/listener/AuthenticationSuccessListener.html" title="interface in org.apache.guacamole.net.event.listener"><span class="typeNameLink">AuthenticationSuccessListener</span></a> - Interface in <a href="org/apache/guacamole/net/event/listener/package-summary.html">org.apache.guacamole.net.event.listener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Listeners should instead implement the <a href="org/apache/guacamole/net/event/listener/Listener.html" title="interface in org.apache.guacamole.net.event.listener"><code>Listener</code></a> interface.</span></div>
</div>
</dd>
</dl>
<a name="I:B">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#BOOLEAN">BOOLEAN</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>
<div class="block">A boolean field, whose value is either blank or "true".</div>
</dd>
<dt><a href="org/apache/guacamole/form/BooleanField.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">BooleanField</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Represents a field with strictly one possible value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/BooleanField.html#BooleanField-java.lang.String-java.lang.String-">BooleanField(String, String)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/BooleanField.html" title="class in org.apache.guacamole.form">BooleanField</a></dt>
<dd>
<div class="block">Creates a new BooleanField with the given name and truth value.</div>
</dd>
<dt><a href="org/apache/guacamole/properties/BooleanGuacamoleProperty.html" title="class in org.apache.guacamole.properties"><span class="typeNameLink">BooleanGuacamoleProperty</span></a> - Class in <a href="org/apache/guacamole/properties/package-summary.html">org.apache.guacamole.properties</a></dt>
<dd>
<div class="block">A GuacamoleProperty whose value is an boolean.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/properties/BooleanGuacamoleProperty.html#BooleanGuacamoleProperty--">BooleanGuacamoleProperty()</a></span> - Constructor for class org.apache.guacamole.properties.<a href="org/apache/guacamole/properties/BooleanGuacamoleProperty.html" title="class in org.apache.guacamole.properties">BooleanGuacamoleProperty</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/TokenName.html#canonicalize-java.lang.String-java.lang.String-">canonicalize(String, String)</a></span> - Static method in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/TokenName.html" title="class in org.apache.guacamole.token">TokenName</a></dt>
<dd>
<div class="block">Generates the name of the parameter token that should be populated with
 the given string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/TokenName.html#canonicalize-java.lang.String-">canonicalize(String)</a></span> - Static method in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/TokenName.html" title="class in org.apache.guacamole.token">TokenName</a></dt>
<dd>
<div class="block">Generate the name of a parameter token from the given string, with no
 added prefix, such that the token name will simply be the transformed
 version of the string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/xml/DocumentHandler.html#characters-char:A-int-int-">characters(char[], int, int)</a></span> - Method in class org.apache.guacamole.xml.<a href="org/apache/guacamole/xml/DocumentHandler.html" title="class in org.apache.guacamole.xml">DocumentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/xml/TagHandler.html#childElement-java.lang.String-">childElement(String)</a></span> - Method in interface org.apache.guacamole.xml.<a href="org/apache/guacamole/xml/TagHandler.html" title="interface in org.apache.guacamole.xml">TagHandler</a></dt>
<dd>
<div class="block">Called when a child element of the current element is parsed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/StandardTokens.html#CLIENT_ADDRESS_TOKEN">CLIENT_ADDRESS_TOKEN</a></span> - Static variable in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/StandardTokens.html" title="class in org.apache.guacamole.token">StandardTokens</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The name of the client address token added via addStandardTokens().</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/StandardTokens.html#CLIENT_HOSTNAME_TOKEN">CLIENT_HOSTNAME_TOKEN</a></span> - Static variable in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/StandardTokens.html" title="class in org.apache.guacamole.token">StandardTokens</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The name of the client hostname token added via addStandardTokens().</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/xml/TagHandler.html#complete-java.lang.String-">complete(String)</a></span> - Method in interface org.apache.guacamole.xml.<a href="org/apache/guacamole/xml/TagHandler.html" title="interface in org.apache.guacamole.xml">TagHandler</a></dt>
<dd>
<div class="block">Called when this element, and all child elements, have been fully parsed,
 and the entire text content of this element (if any) is available.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-java.util.Map-">connect(GuacamoleClientInformation, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Connectable.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-">connect(GuacamoleClientInformation)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Connectable.html" title="interface in org.apache.guacamole.net.auth">Connectable</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">This function has been deprecated in favor of
     <a href="org/apache/guacamole/net/auth/Connectable.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-java.util.Map-"><code>Connectable.connect(org.apache.guacamole.protocol.GuacamoleClientInformation, java.util.Map)</code></a>,
     which allows for connection parameter tokens to be injected and
     applied by cooperating extensions, replacing the functionality
     previously provided through the <a href="org/apache/guacamole/token/StandardTokens.html" title="class in org.apache.guacamole.token"><code>StandardTokens</code></a>
     class. It continues to be defined on this interface for
     compatibility. <strong>New implementations should instead implement
     <a href="org/apache/guacamole/net/auth/Connectable.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-java.util.Map-"><code>Connectable.connect(org.apache.guacamole.protocol.GuacamoleClientInformation, java.util.Map)</code></a>.</strong></span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Connectable.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-java.util.Map-">connect(GuacamoleClientInformation, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Connectable.html" title="interface in org.apache.guacamole.net.auth">Connectable</a></dt>
<dd>
<div class="block">Establishes a connection to guacd using the information associated with
 this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-">connect(GuacamoleClientInformation)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-java.util.Map-">connect(GuacamoleClientInformation, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-">connect(GuacamoleClientInformation)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-java.util.Map-">connect(GuacamoleClientInformation, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-">connect(GuacamoleClientInformation)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnection</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-java.util.Map-">connect(GuacamoleClientInformation, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnection</a></dt>
<dd>
<div class="block">Establishes a connection to guacd using the information associated with
 this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-">connect(GuacamoleClientInformation)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionGroup</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-java.util.Map-">connect(GuacamoleClientInformation, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/TokenInjectingConnection.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-java.util.Map-">connect(GuacamoleClientInformation, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/TokenInjectingConnection.html" title="class in org.apache.guacamole.net.auth">TokenInjectingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/TokenInjectingConnectionGroup.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-java.util.Map-">connect(GuacamoleClientInformation, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/TokenInjectingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">TokenInjectingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/Connectable.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">Connectable</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">An object which Guacamole can connect to.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/Connection.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">Connection</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Represents a pairing of a GuacamoleConfiguration with a unique,
 human-readable identifier, and abstracts the connection process.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/ConnectionGroup.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">ConnectionGroup</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Represents a connection group, which can contain both other connection groups
 as well as connections.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/ConnectionGroup.Type.html" title="enum in org.apache.guacamole.net.auth"><span class="typeNameLink">ConnectionGroup.Type</span></a> - Enum in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">All legal types of connection group.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/ConnectionRecord.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">ConnectionRecord</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">A logging record describing when a user started and ended usage of a
 particular connection.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/ConnectionRecordSet.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">ConnectionRecordSet</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/guacamole/net/auth/ActivityRecordSet.html" title="interface in org.apache.guacamole.net.auth"><code>ActivityRecordSet</code></a>&lt;<a href="org/apache/guacamole/net/auth/ConnectionRecord.html" title="interface in org.apache.guacamole.net.auth"><code>ConnectionRecord</code></a>&gt; instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActivityRecordSet.html#contains-java.lang.String-">contains(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActivityRecordSet.html" title="interface in org.apache.guacamole.net.auth">ActivityRecordSet</a></dt>
<dd>
<div class="block">Returns the subset of records which contain the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.html#contains-java.lang.String-">contains(String)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleActivityRecordSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.html#contains-java.lang.String-">contains(String)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionRecordSet</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/event/CredentialEvent.html" title="interface in org.apache.guacamole.net.event"><span class="typeNameLink">CredentialEvent</span></a> - Interface in <a href="org/apache/guacamole/net/event/package-summary.html">org.apache.guacamole.net.event</a></dt>
<dd>
<div class="block">Abstract basis for events which may have associated user credentials when
 triggered.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">Credentials</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Simple arbitrary set of credentials, including a username/password pair,
 the HttpServletRequest associated with the request for authorization
 (if any) and the HttpSession associated with that request.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Credentials.html#Credentials-java.lang.String-java.lang.String-javax.servlet.http.HttpServletRequest-">Credentials(String, String, HttpServletRequest)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a></dt>
<dd>
<div class="block">Construct a Credentials object with the given username, password,
 and HTTP request.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/credentials/CredentialsInfo.html" title="class in org.apache.guacamole.net.auth.credentials"><span class="typeNameLink">CredentialsInfo</span></a> - Class in <a href="org/apache/guacamole/net/auth/credentials/package-summary.html">org.apache.guacamole.net.auth.credentials</a></dt>
<dd>
<div class="block">Information which describes a set of valid credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/CredentialsInfo.html#CredentialsInfo-java.util.Collection-">CredentialsInfo(Collection&lt;Field&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/CredentialsInfo.html" title="class in org.apache.guacamole.net.auth.credentials">CredentialsInfo</a></dt>
<dd>
<div class="block">Creates a new CredentialsInfo object which requires the given fields for
 any conforming credentials.</div>
</dd>
</dl>
<a name="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#DATE">DATE</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>
<div class="block">A date field whose legal values conform to the pattern "YYYY-MM-DD",
 zero-padded.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/StandardTokens.html#DATE_TOKEN">DATE_TOKEN</a></span> - Static variable in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/StandardTokens.html" title="class in org.apache.guacamole.token">StandardTokens</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The name of the date token (server-local time) added via
 addStandardTokens().</div>
</dd>
<dt><a href="org/apache/guacamole/form/DateField.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">DateField</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Represents a date field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/DateField.html#DateField-java.lang.String-">DateField(String)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/DateField.html" title="class in org.apache.guacamole.form">DateField</a></dt>
<dd>
<div class="block">Creates a new DateField with the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html#decorate-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">decorate(UserContext, AuthenticatedUser, Credentials)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth">AbstractAuthenticationProvider</a></dt>
<dd>
<div class="block">Given a UserContext returned from getUserContext() of a different
 AuthenticationProvider, returns a UserContext instance which decorates
 (wraps) that UserContext, delegating and overriding implemented
 functions as necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AuthenticationProvider.html#decorate-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">decorate(UserContext, AuthenticatedUser, Credentials)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AuthenticationProvider.html" title="interface in org.apache.guacamole.net.auth">AuthenticationProvider</a></dt>
<dd>
<div class="block">Given a UserContext returned from getUserContext() of a different
 AuthenticationProvider, returns a UserContext instance which decorates
 (wraps) that UserContext, delegating and overriding implemented
 functions as necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DecoratingDirectory.html#decorate-ObjectType-">decorate(ObjectType)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DecoratingDirectory.html" title="class in org.apache.guacamole.net.auth">DecoratingDirectory</a></dt>
<dd>
<div class="block">Given an object retrieved from a Directory which originates from a
 different AuthenticationProvider, returns an identical type of object
 optionally wrapped with additional information, functionality, etc.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/DecoratingDirectory.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">DecoratingDirectory</span></a>&lt;<a href="org/apache/guacamole/net/auth/DecoratingDirectory.html" title="type parameter in DecoratingDirectory">ObjectType</a> extends <a href="org/apache/guacamole/net/auth/Identifiable.html" title="interface in org.apache.guacamole.net.auth">Identifiable</a>&gt; - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Directory implementation which simplifies decorating the objects within an
 underlying Directory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DecoratingDirectory.html#DecoratingDirectory-org.apache.guacamole.net.auth.Directory-">DecoratingDirectory(Directory&lt;ObjectType&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DecoratingDirectory.html" title="class in org.apache.guacamole.net.auth">DecoratingDirectory</a></dt>
<dd>
<div class="block">Creates a new DecoratingDirectory which decorates the objects within
 the given directory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#DEFAULT_ROOT_CONNECTION_GROUP">DEFAULT_ROOT_CONNECTION_GROUP</a></span> - Static variable in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">The unique identifier that will be used for the root connection group if
 <a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getRootConnectionGroup--"><code>AbstractUserContext.getRootConnectionGroup()</code></a> is not overridden.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">DelegatingConnection</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Connection implementation which simply delegates all function calls to an
 underlying Connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#DelegatingConnection-org.apache.guacamole.net.auth.Connection-">DelegatingConnection(Connection)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>
<div class="block">Wraps the given Connection such that all function calls against this
 DelegatingConnection will be delegated to it.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">DelegatingConnectionGroup</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">ConnectionGroup implementation which simply delegates all function calls to
 an underlying ConnectionGroup.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#DelegatingConnectionGroup-org.apache.guacamole.net.auth.ConnectionGroup-">DelegatingConnectionGroup(ConnectionGroup)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>
<div class="block">Wraps the given ConnectionGroup such that all function calls against this
 DelegatingConnectionGroup will be delegated to it.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/DelegatingDirectory.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">DelegatingDirectory</span></a>&lt;<a href="org/apache/guacamole/net/auth/DelegatingDirectory.html" title="type parameter in DelegatingDirectory">ObjectType</a> extends <a href="org/apache/guacamole/net/auth/Identifiable.html" title="interface in org.apache.guacamole.net.auth">Identifiable</a>&gt; - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Directory implementation which simply delegates all function calls to an
 underlying Directory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingDirectory.html#DelegatingDirectory-org.apache.guacamole.net.auth.Directory-">DelegatingDirectory(Directory&lt;ObjectType&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingDirectory.html" title="class in org.apache.guacamole.net.auth">DelegatingDirectory</a></dt>
<dd>
<div class="block">Wraps the given Directory such that all function calls against this
 DelegatingDirectory will be delegated to it.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">DelegatingSharingProfile</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">SharingProfile implementation which simply delegates all function calls to an
 underlying SharingProfile.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html#DelegatingSharingProfile-org.apache.guacamole.net.auth.SharingProfile-">DelegatingSharingProfile(SharingProfile)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html" title="class in org.apache.guacamole.net.auth">DelegatingSharingProfile</a></dt>
<dd>
<div class="block">Wraps the given SharingProfile such that all function calls against this
 DelegatingSharingProfile will be delegated to it.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">DelegatingUser</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">User implementation which simply delegates all function calls to an
 underlying User.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#DelegatingUser-org.apache.guacamole.net.auth.User-">DelegatingUser(User)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>
<div class="block">Wraps the given User such that all function calls against this
 DelegatingUser will be delegated to it.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">DelegatingUserContext</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">UserContext implementation which simply delegates all function calls to
 an underlying UserContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#DelegatingUserContext-org.apache.guacamole.net.auth.UserContext-">DelegatingUserContext(UserContext)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>
<div class="block">Wraps the given UserContext such that all function calls against this
 DelegatingUserContext will be delegated to it.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">DelegatingUserGroup</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">UserGroup implementation which simply delegates all function calls to an
 underlying UserGroup.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#DelegatingUserGroup-org.apache.guacamole.net.auth.UserGroup-">DelegatingUserGroup(UserGroup)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>
<div class="block">Wraps the given UserGroup such that all function calls against this
 DelegatingUserGroup will be delegated to it.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/Directory.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">Directory</span></a>&lt;<a href="org/apache/guacamole/net/auth/Directory.html" title="type parameter in Directory">ObjectType</a> extends <a href="org/apache/guacamole/net/auth/Identifiable.html" title="interface in org.apache.guacamole.net.auth">Identifiable</a>&gt; - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Provides access to a collection of all objects with associated identifiers,
 and allows user manipulation and removal.</div>
</dd>
<dt><a href="org/apache/guacamole/xml/DocumentHandler.html" title="class in org.apache.guacamole.xml"><span class="typeNameLink">DocumentHandler</span></a> - Class in <a href="org/apache/guacamole/xml/package-summary.html">org.apache.guacamole.xml</a></dt>
<dd>
<div class="block">A simple ContentHandler implementation which digests SAX document events and
 produces simpler tag-level events, maintaining its own stack for the
 convenience of the tag handlers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/xml/DocumentHandler.html#DocumentHandler-java.lang.String-org.apache.guacamole.xml.TagHandler-">DocumentHandler(String, TagHandler)</a></span> - Constructor for class org.apache.guacamole.xml.<a href="org/apache/guacamole/xml/DocumentHandler.html" title="class in org.apache.guacamole.xml">DocumentHandler</a></dt>
<dd>
<div class="block">Creates a new DocumentHandler which will use the given TagHandler
 to handle the root element.</div>
</dd>
</dl>
<a name="I:E">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#EMAIL">EMAIL</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>
<div class="block">An email address field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/User.Attribute.html#EMAIL_ADDRESS">EMAIL_ADDRESS</a></span> - Static variable in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/User.Attribute.html" title="class in org.apache.guacamole.net.auth">User.Attribute</a></dt>
<dd>
<div class="block">The email address of the user.</div>
</dd>
<dt><a href="org/apache/guacamole/form/EmailField.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">EmailField</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Represents a text field which may contain an email address.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/EmailField.html#EmailField-java.lang.String-">EmailField(String)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/EmailField.html" title="class in org.apache.guacamole.form">EmailField</a></dt>
<dd>
<div class="block">Creates a new EmailField with the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/CredentialsInfo.html#EMPTY">EMPTY</a></span> - Static variable in class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/CredentialsInfo.html" title="class in org.apache.guacamole.net.auth.credentials">CredentialsInfo</a></dt>
<dd>
<div class="block">CredentialsInfo object which describes empty credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html#EMPTY_SET">EMPTY_SET</a></span> - Static variable in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">ObjectPermissionSet</a></dt>
<dd>
<div class="block">An immutable instance of ObjectPermissionSet which contains no
 permissions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html#EMPTY_SET">EMPTY_SET</a></span> - Static variable in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">SystemPermissionSet</a></dt>
<dd>
<div class="block">An immutable instance of SystemPermissionSet which contains no
 permissions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/RelatedObjectSet.html#EMPTY_SET">EMPTY_SET</a></span> - Static variable in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/RelatedObjectSet.html" title="interface in org.apache.guacamole.net.auth">RelatedObjectSet</a></dt>
<dd>
<div class="block">An immutable instance of RelatedObjectSEt which contains no objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/xml/DocumentHandler.html#endElement-java.lang.String-java.lang.String-java.lang.String-">endElement(String, String, String)</a></span> - Method in class org.apache.guacamole.xml.<a href="org/apache/guacamole/xml/DocumentHandler.html" title="class in org.apache.guacamole.xml">DocumentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#ENUM">ENUM</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>
<div class="block">An enumerated field, whose legal values are fully enumerated by a
 provided, finite list.</div>
</dd>
<dt><a href="org/apache/guacamole/form/EnumField.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">EnumField</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Represents an arbitrary field with a finite, enumerated set of possible
 values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/EnumField.html#EnumField-java.lang.String-java.util.Collection-">EnumField(String, Collection&lt;String&gt;)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/EnumField.html" title="class in org.apache.guacamole.form">EnumField</a></dt>
<dd>
<div class="block">Creates a new EnumField with the given name and possible values.</div>
</dd>
<dt><a href="org/apache/guacamole/environment/Environment.html" title="interface in org.apache.guacamole.environment"><span class="typeNameLink">Environment</span></a> - Interface in <a href="org/apache/guacamole/environment/package-summary.html">org.apache.guacamole.environment</a></dt>
<dd>
<div class="block">The environment of an arbitrary Guacamole instance, describing available
 protocols, configuration parameters, and the GUACAMOLE_HOME directory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractIdentifiable.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractIdentifiable.html" title="class in org.apache.guacamole.net.auth">AbstractIdentifiable</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html" title="class in org.apache.guacamole.net.auth">AbstractSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermission.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermission.html" title="class in org.apache.guacamole.net.auth.permission">ObjectPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/SystemPermission.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/SystemPermission.html" title="class in org.apache.guacamole.net.auth.permission">SystemPermission</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:F">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><a href="org/apache/guacamole/form/Field.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">Field</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Represents an arbitrary field, such as an HTTP parameter, the parameter of a
 remote desktop protocol, or an input field within a form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.html#Field--">Field()</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.html" title="class in org.apache.guacamole.form">Field</a></dt>
<dd>
<div class="block">Creates a new Parameter with no associated name or type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.html#Field-java.lang.String-java.lang.String-">Field(String, String)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.html" title="class in org.apache.guacamole.form">Field</a></dt>
<dd>
<div class="block">Creates a new Field with the given name  and type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.html#Field-java.lang.String-java.lang.String-java.util.Collection-">Field(String, String, Collection&lt;String&gt;)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.html" title="class in org.apache.guacamole.form">Field</a></dt>
<dd>
<div class="block">Creates a new Field with the given name, type, and possible values.</div>
</dd>
<dt><a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">Field.Type</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">All types of fields which are available by default.</div>
</dd>
<dt><a href="org/apache/guacamole/form/FieldOption.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">FieldOption</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Describes an available legal value for an enumerated field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/FieldOption.html#FieldOption--">FieldOption()</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/FieldOption.html" title="class in org.apache.guacamole.form">FieldOption</a></dt>
<dd>
<div class="block">Creates a new FieldOption with no associated value or title.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/FieldOption.html#FieldOption-java.lang.String-java.lang.String-">FieldOption(String, String)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/FieldOption.html" title="class in org.apache.guacamole.form">FieldOption</a></dt>
<dd>
<div class="block">Creates a new FieldOption having the given value and title.</div>
</dd>
<dt><a href="org/apache/guacamole/properties/FileGuacamoleProperty.html" title="class in org.apache.guacamole.properties"><span class="typeNameLink">FileGuacamoleProperty</span></a> - Class in <a href="org/apache/guacamole/properties/package-summary.html">org.apache.guacamole.properties</a></dt>
<dd>
<div class="block">A GuacamoleProperty whose value is a filename.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/properties/FileGuacamoleProperty.html#FileGuacamoleProperty--">FileGuacamoleProperty()</a></span> - Constructor for class org.apache.guacamole.properties.<a href="org/apache/guacamole/properties/FileGuacamoleProperty.html" title="class in org.apache.guacamole.properties">FileGuacamoleProperty</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/TokenFilter.html#filter-java.lang.String-">filter(String)</a></span> - Method in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/TokenFilter.html" title="class in org.apache.guacamole.token">TokenFilter</a></dt>
<dd>
<div class="block">Filters the given string, replacing any tokens with their corresponding
 values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/TokenFilter.html#filterValues-java.util.Map-">filterValues(Map&lt;?, String&gt;)</a></span> - Method in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/TokenFilter.html" title="class in org.apache.guacamole.token">TokenFilter</a></dt>
<dd>
<div class="block">Given an arbitrary map containing String values, replace each non-null
 value with the corresponding filtered value.</div>
</dd>
<dt><a href="org/apache/guacamole/form/Form.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">Form</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Information which describes logical set of fields.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Form.html#Form--">Form()</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Form.html" title="class in org.apache.guacamole.form">Form</a></dt>
<dd>
<div class="block">Creates a new Form object with no associated fields.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Form.html#Form-java.lang.String-java.util.Collection-">Form(String, Collection&lt;Field&gt;)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Form.html" title="class in org.apache.guacamole.form">Form</a></dt>
<dd>
<div class="block">Creates a new Form object having the given name and containing the given
 fields.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/DateField.html#FORMAT">FORMAT</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/DateField.html" title="class in org.apache.guacamole.form">DateField</a></dt>
<dd>
<div class="block">The date format used by date fields, compatible with SimpleDateFormat.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/DateField.html#format-java.util.Date-">format(Date)</a></span> - Static method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/DateField.html" title="class in org.apache.guacamole.form">DateField</a></dt>
<dd>
<div class="block">Converts the given date into a string which follows the format used by
 date fields.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/NumericField.html#format-java.lang.Integer-">format(Integer)</a></span> - Static method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/NumericField.html" title="class in org.apache.guacamole.form">NumericField</a></dt>
<dd>
<div class="block">Formats the given integer in the format required by a numeric field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/TimeField.html#FORMAT">FORMAT</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/TimeField.html" title="class in org.apache.guacamole.form">TimeField</a></dt>
<dd>
<div class="block">The time format used by time fields, compatible with SimpleDateFormat.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/TimeField.html#format-java.util.Date-">format(Date)</a></span> - Static method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/TimeField.html" title="class in org.apache.guacamole.form">TimeField</a></dt>
<dd>
<div class="block">Converts the given time into a string which follows the format used by
 time fields.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/User.Attribute.html#FULL_NAME">FULL_NAME</a></span> - Static variable in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/User.Attribute.html" title="class in org.apache.guacamole.net.auth">User.Attribute</a></dt>
<dd>
<div class="block">The user's full name.</div>
</dd>
</dl>
<a name="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DecoratingDirectory.html#get-java.lang.String-">get(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DecoratingDirectory.html" title="class in org.apache.guacamole.net.auth">DecoratingDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingDirectory.html#get-java.lang.String-">get(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingDirectory.html" title="class in org.apache.guacamole.net.auth">DelegatingDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Directory.html#get-java.lang.String-">get(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Directory.html" title="interface in org.apache.guacamole.net.auth">Directory</a></dt>
<dd>
<div class="block">Returns the object having the given identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html#get-java.lang.String-">get(String)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html#getAccessibleObjects-java.util.Collection-java.util.Collection-">getAccessibleObjects(Collection&lt;ObjectPermission.Type&gt;, Collection&lt;String&gt;)</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">ObjectPermissionSet</a></dt>
<dd>
<div class="block">Tests whether this user has the specified permissions for the objects
 having the given identifiers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html#getAccessibleObjects-java.util.Collection-java.util.Collection-">getAccessibleObjects(Collection&lt;ObjectPermission.Type&gt;, Collection&lt;String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleObjectPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getActiveConnectionDirectory--">getActiveConnectionDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Retrieves a Directory which can be used to view and manipulate
 active connections, but only as allowed by the permissions given to the
 user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getActiveConnectionDirectory--">getActiveConnectionDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getActiveConnectionDirectory--">getActiveConnectionDirectory()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Retrieves a Directory which can be used to view and manipulate
 active connections, but only as allowed by the permissions given to the
 user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#getActiveConnectionPermissions--">getActiveConnectionPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>
<div class="block">Returns all permissions given to this object regarding currently-active
 connections.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserGroup.html#getActiveConnectionPermissions--">getActiveConnectionPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserGroup.html" title="class in org.apache.guacamole.net.auth">AbstractUserGroup</a></dt>
<dd>
<div class="block">Returns all permissions given to this object regarding currently-active
 connections.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getActiveConnectionPermissions--">getActiveConnectionPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#getActiveConnectionPermissions--">getActiveConnectionPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Permissions.html#getActiveConnectionPermissions--">getActiveConnectionPermissions()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Permissions.html" title="interface in org.apache.guacamole.net.auth">Permissions</a></dt>
<dd>
<div class="block">Returns all permissions given to this object regarding currently-active
 connections.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#getActiveConnections--">getActiveConnections()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Connectable.html#getActiveConnections--">getActiveConnections()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Connectable.html" title="interface in org.apache.guacamole.net.auth">Connectable</a></dt>
<dd>
<div class="block">Returns the number of active connections associated with this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#getActiveConnections--">getActiveConnections()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#getActiveConnections--">getActiveConnections()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html#getActiveConnections--">getActiveConnections()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html#getActiveConnections--">getActiveConnections()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DecoratingDirectory.html#getAll-java.util.Collection-">getAll(Collection&lt;String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DecoratingDirectory.html" title="class in org.apache.guacamole.net.auth">DecoratingDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingDirectory.html#getAll-java.util.Collection-">getAll(Collection&lt;String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingDirectory.html" title="class in org.apache.guacamole.net.auth">DelegatingDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Directory.html#getAll-java.util.Collection-">getAll(Collection&lt;String&gt;)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Directory.html" title="interface in org.apache.guacamole.net.auth">Directory</a></dt>
<dd>
<div class="block">Returns the objects having the given identifiers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html#getAll-java.util.Collection-">getAll(Collection&lt;String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#getAttributes--">getAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>
<div class="block">Returns all attributes associated with this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserGroup.html#getAttributes--">getAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserGroup.html" title="class in org.apache.guacamole.net.auth">AbstractUserGroup</a></dt>
<dd>
<div class="block">Returns all attributes associated with this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Attributes.html#getAttributes--">getAttributes()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Attributes.html" title="interface in org.apache.guacamole.net.auth">Attributes</a></dt>
<dd>
<div class="block">Returns all attributes associated with this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#getAttributes--">getAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#getAttributes--">getAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html#getAttributes--">getAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html" title="class in org.apache.guacamole.net.auth">DelegatingSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getAttributes--">getAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#getAttributes--">getAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html#getAttributes--">getAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html#getAttributes--">getAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/AuthenticationSuccessEvent.html#getAuthenticatedUser--">getAuthenticatedUser()</a></span> - Method in class org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/AuthenticationSuccessEvent.html" title="class in org.apache.guacamole.net.event">AuthenticationSuccessEvent</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/TunnelCloseEvent.html#getAuthenticatedUser--">getAuthenticatedUser()</a></span> - Method in class org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/TunnelCloseEvent.html" title="class in org.apache.guacamole.net.event">TunnelCloseEvent</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/TunnelConnectEvent.html#getAuthenticatedUser--">getAuthenticatedUser()</a></span> - Method in class org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/TunnelConnectEvent.html" title="class in org.apache.guacamole.net.event">TunnelConnectEvent</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/UserEvent.html#getAuthenticatedUser--">getAuthenticatedUser()</a></span> - Method in interface org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/UserEvent.html" title="interface in org.apache.guacamole.net.event">UserEvent</a></dt>
<dd>
<div class="block">Returns the AuthenticatedUser identifying the user triggering the event,
 if any.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AuthenticatedUser.html#getAuthenticationProvider--">getAuthenticationProvider()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a></dt>
<dd>
<div class="block">Returns the AuthenticationProvider that authenticated this user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getAuthenticationProvider--">getAuthenticationProvider()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html#getAuthenticationProvider--">getAuthenticationProvider()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getAuthenticationProvider--">getAuthenticationProvider()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Returns the AuthenticationProvider which created this UserContext, which
 may not be the same AuthenticationProvider that authenticated the user
 associated with this UserContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.html#getAuthorizedConfigurations-org.apache.guacamole.net.auth.Credentials-">getAuthorizedConfigurations(Credentials)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth.simple">SimpleAuthenticationProvider</a></dt>
<dd>
<div class="block">Given an arbitrary credentials object, returns a Map containing all
 configurations authorized by those credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnection.html#getConfiguration--">getConfiguration()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnection.html" title="class in org.apache.guacamole.net.auth">AbstractConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Connection.html#getConfiguration--">getConfiguration()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Connection.html" title="interface in org.apache.guacamole.net.auth">Connection</a></dt>
<dd>
<div class="block">Returns the GuacamoleConfiguration associated with this Connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#getConfiguration--">getConfiguration()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getConnectionAttributes--">getConnectionAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Retrieves a collection of all attributes applicable to connections.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getConnectionAttributes--">getConnectionAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getConnectionAttributes--">getConnectionAttributes()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Retrieves a collection of all attributes applicable to connections.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getConnectionDirectory--">getConnectionDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Retrieves a Directory which can be used to view and manipulate
 connections and their configurations, but only as allowed by the
 permissions given to the user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getConnectionDirectory--">getConnectionDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html#getConnectionDirectory--">getConnectionDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/TokenInjectingUserContext.html#getConnectionDirectory--">getConnectionDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/TokenInjectingUserContext.html" title="class in org.apache.guacamole.net.auth">TokenInjectingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getConnectionDirectory--">getConnectionDirectory()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Retrieves a Directory which can be used to view and manipulate
 connections and their configurations, but only as allowed by the
 permissions given to the user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/protocols/ProtocolInfo.html#getConnectionForms--">getConnectionForms()</a></span> - Method in class org.apache.guacamole.protocols.<a href="org/apache/guacamole/protocols/ProtocolInfo.html" title="class in org.apache.guacamole.protocols">ProtocolInfo</a></dt>
<dd>
<div class="block">Returns a mutable collection of forms describing all known parameters for
 a connection using this protocol.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getConnectionGroupAttributes--">getConnectionGroupAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Retrieves a collection of all attributes applicable to connection
 groups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getConnectionGroupAttributes--">getConnectionGroupAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getConnectionGroupAttributes--">getConnectionGroupAttributes()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Retrieves a collection of all attributes applicable to connection
 groups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getConnectionGroupDirectory--">getConnectionGroupDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Retrieves a Directory which can be used to view and manipulate
 connection groups and their members, but only as allowed by the
 permissions given to the user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getConnectionGroupDirectory--">getConnectionGroupDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/TokenInjectingUserContext.html#getConnectionGroupDirectory--">getConnectionGroupDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/TokenInjectingUserContext.html" title="class in org.apache.guacamole.net.auth">TokenInjectingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getConnectionGroupDirectory--">getConnectionGroupDirectory()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Retrieves a Directory which can be used to view and manipulate
 connection groups and their members, but only as allowed by the
 permissions given to the user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ConnectionGroup.html#getConnectionGroupIdentifiers--">getConnectionGroupIdentifiers()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ConnectionGroup.html" title="interface in org.apache.guacamole.net.auth">ConnectionGroup</a></dt>
<dd>
<div class="block">Returns the identifiers of all readable connection groups that are
 children of this connection group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#getConnectionGroupIdentifiers--">getConnectionGroupIdentifiers()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html#getConnectionGroupIdentifiers--">getConnectionGroupIdentifiers()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#getConnectionGroupPermissions--">getConnectionGroupPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>
<div class="block">Returns all connection group permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserGroup.html#getConnectionGroupPermissions--">getConnectionGroupPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserGroup.html" title="class in org.apache.guacamole.net.auth">AbstractUserGroup</a></dt>
<dd>
<div class="block">Returns all connection group permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getConnectionGroupPermissions--">getConnectionGroupPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#getConnectionGroupPermissions--">getConnectionGroupPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Permissions.html#getConnectionGroupPermissions--">getConnectionGroupPermissions()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Permissions.html" title="interface in org.apache.guacamole.net.auth">Permissions</a></dt>
<dd>
<div class="block">Returns all connection group permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUser.html#getConnectionGroupPermissions--">getConnectionGroupPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUser.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getConnectionHistory--">getConnectionHistory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Retrieves all connection records visible to current user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getConnectionHistory--">getConnectionHistory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getConnectionHistory--">getConnectionHistory()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Retrieves all connection records visible to current user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html#getConnectionIdentifier--">getConnectionIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html" title="class in org.apache.guacamole.net.auth">AbstractActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#getConnectionIdentifier--">getConnectionIdentifier()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>
<div class="block">Returns the identifier of the connection being actively used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ConnectionRecord.html#getConnectionIdentifier--">getConnectionIdentifier()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ConnectionRecord.html" title="interface in org.apache.guacamole.net.auth">ConnectionRecord</a></dt>
<dd>
<div class="block">Returns the identifier of the connection associated with this
 connection record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ConnectionGroup.html#getConnectionIdentifiers--">getConnectionIdentifiers()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ConnectionGroup.html" title="interface in org.apache.guacamole.net.auth">ConnectionGroup</a></dt>
<dd>
<div class="block">Returns the identifiers of all readable connections that are children
 of this connection group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#getConnectionIdentifiers--">getConnectionIdentifiers()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html#getConnectionIdentifiers--">getConnectionIdentifiers()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ConnectionRecord.html#getConnectionName--">getConnectionName()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ConnectionRecord.html" title="interface in org.apache.guacamole.net.auth">ConnectionRecord</a></dt>
<dd>
<div class="block">Returns the name of the connection associated with this connection
 record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#getConnectionPermissions--">getConnectionPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>
<div class="block">Returns all connection permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserGroup.html#getConnectionPermissions--">getConnectionPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserGroup.html" title="class in org.apache.guacamole.net.auth">AbstractUserGroup</a></dt>
<dd>
<div class="block">Returns all connection permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getConnectionPermissions--">getConnectionPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#getConnectionPermissions--">getConnectionPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Permissions.html#getConnectionPermissions--">getConnectionPermissions()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Permissions.html" title="interface in org.apache.guacamole.net.auth">Permissions</a></dt>
<dd>
<div class="block">Returns all connection permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUser.html#getConnectionPermissions--">getConnectionPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUser.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AuthenticatedUser.html#getCredentials--">getCredentials()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a></dt>
<dd>
<div class="block">Returns the credentials that the user provided when they successfully
 authenticated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/AuthenticationFailureEvent.html#getCredentials--">getCredentials()</a></span> - Method in class org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/AuthenticationFailureEvent.html" title="class in org.apache.guacamole.net.event">AuthenticationFailureEvent</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/AuthenticationSuccessEvent.html#getCredentials--">getCredentials()</a></span> - Method in class org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/AuthenticationSuccessEvent.html" title="class in org.apache.guacamole.net.event">AuthenticationSuccessEvent</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/CredentialEvent.html#getCredentials--">getCredentials()</a></span> - Method in interface org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/CredentialEvent.html" title="interface in org.apache.guacamole.net.event">CredentialEvent</a></dt>
<dd>
<div class="block">Returns the current credentials of the user triggering the event, if any.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/TunnelCloseEvent.html#getCredentials--">getCredentials()</a></span> - Method in class org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/TunnelCloseEvent.html" title="class in org.apache.guacamole.net.event">TunnelCloseEvent</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/TunnelConnectEvent.html#getCredentials--">getCredentials()</a></span> - Method in class org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/TunnelConnectEvent.html" title="class in org.apache.guacamole.net.event">TunnelConnectEvent</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/GuacamoleCredentialsException.html#getCredentialsInfo--">getCredentialsInfo()</a></span> - Method in exception org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/GuacamoleCredentialsException.html" title="class in org.apache.guacamole.net.auth.credentials">GuacamoleCredentialsException</a></dt>
<dd>
<div class="block">Returns information describing the form of valid credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/Environment.html#getDefaultGuacamoleProxyConfiguration--">getDefaultGuacamoleProxyConfiguration()</a></span> - Method in interface org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/Environment.html" title="interface in org.apache.guacamole.environment">Environment</a></dt>
<dd>
<div class="block">Returns the connection information which should be used, by default, to
 connect to guacd when establishing a remote desktop connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/LocalEnvironment.html#getDefaultGuacamoleProxyConfiguration--">getDefaultGuacamoleProxyConfiguration()</a></span> - Method in class org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/LocalEnvironment.html" title="class in org.apache.guacamole.environment">LocalEnvironment</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#getDelegateConnection--">getDelegateConnection()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>
<div class="block">Returns the underlying Connection wrapped by this DelegatingConnection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#getDelegateConnectionGroup--">getDelegateConnectionGroup()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>
<div class="block">Returns the underlying ConnectionGroup wrapped by this
 DelegatingConnectionGroup.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingDirectory.html#getDelegateDirectory--">getDelegateDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingDirectory.html" title="class in org.apache.guacamole.net.auth">DelegatingDirectory</a></dt>
<dd>
<div class="block">Returns the underlying Directory wrapped by this DelegatingDirectory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html#getDelegateSharingProfile--">getDelegateSharingProfile()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html" title="class in org.apache.guacamole.net.auth">DelegatingSharingProfile</a></dt>
<dd>
<div class="block">Returns the underlying SharingProfile wrapped by this
 DelegatingSharingProfile.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getDelegateUser--">getDelegateUser()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>
<div class="block">Returns the underlying User wrapped by this DelegatingUser.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getDelegateUserContext--">getDelegateUserContext()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>
<div class="block">Returns the underlying UserContext wrapped by this
 DelegatingUserContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#getDelegateUserGroupGroup--">getDelegateUserGroupGroup()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>
<div class="block">Returns the underlying UserGroup wrapped by this DelegatingUserGroup.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#getEffectivePermissions--">getEffectivePermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>
<div class="block">Returns a read-only view of all permissions granted to this user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getEffectivePermissions--">getEffectivePermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/User.html#getEffectivePermissions--">getEffectivePermissions()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/User.html" title="interface in org.apache.guacamole.net.auth">User</a></dt>
<dd>
<div class="block">Returns a read-only view of all permissions granted to this user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractAuthenticatedUser.html#getEffectiveUserGroups--">getEffectiveUserGroups()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractAuthenticatedUser.html" title="class in org.apache.guacamole.net.auth">AbstractAuthenticatedUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AuthenticatedUser.html#getEffectiveUserGroups--">getEffectiveUserGroups()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a></dt>
<dd>
<div class="block">Returns a read-only set of the identifiers of all user groups which
 apply to this authenticated user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.html#getEncryptionMethod--">getEncryptionMethod()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.html" title="class in org.apache.guacamole.net.auth">GuacamoleProxyConfiguration</a></dt>
<dd>
<div class="block">Returns the type of encryption required by guacd.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActivityRecord.html#getEndDate--">getEndDate()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActivityRecord.html" title="interface in org.apache.guacamole.net.auth">ActivityRecord</a></dt>
<dd>
<div class="block">Returns the date and time the activity ended, if applicable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Form.html#getFields--">getFields()</a></span> - Method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Form.html" title="class in org.apache.guacamole.form">Form</a></dt>
<dd>
<div class="block">Returns a mutable collection of the fields associated with this form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/CredentialsInfo.html#getFields--">getFields()</a></span> - Method in class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/CredentialsInfo.html" title="class in org.apache.guacamole.net.auth.credentials">CredentialsInfo</a></dt>
<dd>
<div class="block">Returns all fields required for valid credentials as described by this
 object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html#getFullConfiguration--">getFullConfiguration()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnection</a></dt>
<dd>
<div class="block">Returns the GuacamoleConfiguration describing how to connect to this
 connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/Environment.html#getGuacamoleHome--">getGuacamoleHome()</a></span> - Method in interface org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/Environment.html" title="interface in org.apache.guacamole.environment">Environment</a></dt>
<dd>
<div class="block">Returns the Guacamole home directory as determined when this Environment
 object was created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/LocalEnvironment.html#getGuacamoleHome--">getGuacamoleHome()</a></span> - Method in class org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/LocalEnvironment.html" title="class in org.apache.guacamole.environment">LocalEnvironment</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#getHistory--">getHistory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>
<div class="block">Returns a list of ActivityRecords representing the login history
 of this user, including any active sessions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Connection.html#getHistory--">getHistory()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Connection.html" title="interface in org.apache.guacamole.net.auth">Connection</a></dt>
<dd>
<div class="block">Returns a list of ConnectionRecords representing the usage history
 of this Connection, including any active users.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#getHistory--">getHistory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getHistory--">getHistory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html#getHistory--">getHistory()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/User.html#getHistory--">getHistory()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/User.html" title="interface in org.apache.guacamole.net.auth">User</a></dt>
<dd>
<div class="block">Returns a list of ActivityRecords representing the login history
 of this user, including any active sessions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.html#getHostname--">getHostname()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.html" title="class in org.apache.guacamole.net.auth">GuacamoleProxyConfiguration</a></dt>
<dd>
<div class="block">Returns the hostname or address of the machine where guacd is running.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractIdentifiable.html#getIdentifier--">getIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractIdentifiable.html" title="class in org.apache.guacamole.net.auth">AbstractIdentifiable</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html#getIdentifier--">getIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html" title="class in org.apache.guacamole.net.auth">AbstractSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AuthenticationProvider.html#getIdentifier--">getIdentifier()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AuthenticationProvider.html" title="interface in org.apache.guacamole.net.auth">AuthenticationProvider</a></dt>
<dd>
<div class="block">Returns the identifier which uniquely and consistently identifies this
 AuthenticationProvider implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#getIdentifier--">getIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#getIdentifier--">getIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html#getIdentifier--">getIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html" title="class in org.apache.guacamole.net.auth">DelegatingSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getIdentifier--">getIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#getIdentifier--">getIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Identifiable.html#getIdentifier--">getIdentifier()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Identifiable.html" title="interface in org.apache.guacamole.net.auth">Identifiable</a></dt>
<dd>
<div class="block">Returns the unique identifier assigned to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingDirectory.html#getIdentifiers--">getIdentifiers()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingDirectory.html" title="class in org.apache.guacamole.net.auth">DelegatingDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Directory.html#getIdentifiers--">getIdentifiers()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Directory.html" title="interface in org.apache.guacamole.net.auth">Directory</a></dt>
<dd>
<div class="block">Returns a Set containing all identifiers for all objects within this
 Directory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html#getIdentifiers--">getIdentifiers()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/language/TranslatableMessage.html#getKey--">getKey()</a></span> - Method in class org.apache.guacamole.language.<a href="org/apache/guacamole/language/TranslatableMessage.html" title="class in org.apache.guacamole.language">TranslatableMessage</a></dt>
<dd>
<div class="block">Returns the arbitrary key which can be used to look up the message to be
 displayed in the user's native language.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#getLastActive--">getLastActive()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>
<div class="block">Returns the date and time that this user was last active.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Connection.html#getLastActive--">getLastActive()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Connection.html" title="interface in org.apache.guacamole.net.auth">Connection</a></dt>
<dd>
<div class="block">Returns the date and time that this connection was last used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#getLastActive--">getLastActive()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getLastActive--">getLastActive()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html#getLastActive--">getLastActive()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/User.html#getLastActive--">getLastActive()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/User.html" title="interface in org.apache.guacamole.net.auth">User</a></dt>
<dd>
<div class="block">Returns the date and time that this user was last active.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserGroup.html#getMemberUserGroups--">getMemberUserGroups()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserGroup.html" title="class in org.apache.guacamole.net.auth">AbstractUserGroup</a></dt>
<dd>
<div class="block">Returns a set of all readable user groups that are members of this user
 group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#getMemberUserGroups--">getMemberUserGroups()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserGroup.html#getMemberUserGroups--">getMemberUserGroups()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserGroup.html" title="interface in org.apache.guacamole.net.auth">UserGroup</a></dt>
<dd>
<div class="block">Returns a set of all readable user groups that are members of this user
 group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserGroup.html#getMemberUsers--">getMemberUsers()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserGroup.html" title="class in org.apache.guacamole.net.auth">AbstractUserGroup</a></dt>
<dd>
<div class="block">Returns a set of all readable users that are members of this user group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#getMemberUsers--">getMemberUsers()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserGroup.html#getMemberUsers--">getMemberUsers()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserGroup.html" title="interface in org.apache.guacamole.net.auth">UserGroup</a></dt>
<dd>
<div class="block">Returns a set of all readable users that are members of this user group.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.html#getName--">getName()</a></span> - Method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.html" title="class in org.apache.guacamole.form">Field</a></dt>
<dd>
<div class="block">Returns the unique name associated with this field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Form.html#getName--">getName()</a></span> - Method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Form.html" title="class in org.apache.guacamole.form">Form</a></dt>
<dd>
<div class="block">Returns the name of this form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnection.html#getName--">getName()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnection.html" title="class in org.apache.guacamole.net.auth">AbstractConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html#getName--">getName()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html" title="class in org.apache.guacamole.net.auth">AbstractConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html#getName--">getName()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html" title="class in org.apache.guacamole.net.auth">AbstractSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Connection.html#getName--">getName()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Connection.html" title="interface in org.apache.guacamole.net.auth">Connection</a></dt>
<dd>
<div class="block">Returns the name assigned to this Connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ConnectionGroup.html#getName--">getName()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ConnectionGroup.html" title="interface in org.apache.guacamole.net.auth">ConnectionGroup</a></dt>
<dd>
<div class="block">Returns the name assigned to this ConnectionGroup.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#getName--">getName()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#getName--">getName()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html#getName--">getName()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html" title="class in org.apache.guacamole.net.auth">DelegatingSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/SharingProfile.html#getName--">getName()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/SharingProfile.html" title="interface in org.apache.guacamole.net.auth">SharingProfile</a></dt>
<dd>
<div class="block">Returns the human-readable name assigned to this SharingProfile.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/properties/GuacamoleProperty.html#getName--">getName()</a></span> - Method in interface org.apache.guacamole.properties.<a href="org/apache/guacamole/properties/GuacamoleProperty.html" title="interface in org.apache.guacamole.properties">GuacamoleProperty</a></dt>
<dd>
<div class="block">Returns the name of the property in guacamole.properties that this
 GuacamoleProperty will parse.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/protocols/ProtocolInfo.html#getName--">getName()</a></span> - Method in class org.apache.guacamole.protocols.<a href="org/apache/guacamole/protocols/ProtocolInfo.html" title="class in org.apache.guacamole.protocols">ProtocolInfo</a></dt>
<dd>
<div class="block">Returns the unique name of this protocol.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermission.html#getObjectIdentifier--">getObjectIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermission.html" title="class in org.apache.guacamole.net.auth.permission">ObjectPermission</a></dt>
<dd>
<div class="block">Returns the identifier of the specific object affected by this
 permission.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/RelatedObjectSet.html#getObjects--">getObjects()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/RelatedObjectSet.html" title="interface in org.apache.guacamole.net.auth">RelatedObjectSet</a></dt>
<dd>
<div class="block">Returns a Set which contains the identifiers of all objects contained
 within this RelatedObjectSet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html#getObjects--">getObjects()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleDirectory</a></dt>
<dd>
<div class="block">Returns the Map which currently backs this SimpleDirectory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleRelatedObjectSet.html#getObjects--">getObjects()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleRelatedObjectSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleRelatedObjectSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.html#getOptions--">getOptions()</a></span> - Method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.html" title="class in org.apache.guacamole.form">Field</a></dt>
<dd>
<div class="block">Returns a mutable collection of field options.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html#getParameters--">getParameters()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html" title="class in org.apache.guacamole.net.auth">AbstractSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html#getParameters--">getParameters()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html" title="class in org.apache.guacamole.net.auth">DelegatingSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/SharingProfile.html#getParameters--">getParameters()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/SharingProfile.html" title="interface in org.apache.guacamole.net.auth">SharingProfile</a></dt>
<dd>
<div class="block">Returns a map which contains connection parameter name/value pairs as
 key/value pairs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnection.html#getParentIdentifier--">getParentIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnection.html" title="class in org.apache.guacamole.net.auth">AbstractConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html#getParentIdentifier--">getParentIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html" title="class in org.apache.guacamole.net.auth">AbstractConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Connection.html#getParentIdentifier--">getParentIdentifier()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Connection.html" title="interface in org.apache.guacamole.net.auth">Connection</a></dt>
<dd>
<div class="block">Returns the unique identifier of the parent ConnectionGroup for
 this Connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ConnectionGroup.html#getParentIdentifier--">getParentIdentifier()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ConnectionGroup.html" title="interface in org.apache.guacamole.net.auth">ConnectionGroup</a></dt>
<dd>
<div class="block">Returns the unique identifier of the parent ConnectionGroup for
 this ConnectionGroup.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#getParentIdentifier--">getParentIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#getParentIdentifier--">getParentIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#getPassword--">getPassword()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Credentials.html#getPassword--">getPassword()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a></dt>
<dd>
<div class="block">Returns the password associated with this set of credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getPassword--">getPassword()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/User.html#getPassword--">getPassword()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/User.html" title="interface in org.apache.guacamole.net.auth">User</a></dt>
<dd>
<div class="block">Returns this user's password.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html#getPermissions--">getPermissions()</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">ObjectPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/PermissionSet.html#getPermissions--">getPermissions()</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/PermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">PermissionSet</a></dt>
<dd>
<div class="block">Returns a Set which contains all permissions granted within this
 permission set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html#getPermissions--">getPermissions()</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">SystemPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html#getPermissions--">getPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleObjectPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html#getPermissions--">getPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleSystemPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.html#getPort--">getPort()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.html" title="class in org.apache.guacamole.net.auth">GuacamoleProxyConfiguration</a></dt>
<dd>
<div class="block">Returns the port that guacd is listening on.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html#getPrimaryConnectionIdentifier--">getPrimaryConnectionIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html" title="class in org.apache.guacamole.net.auth">AbstractSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html#getPrimaryConnectionIdentifier--">getPrimaryConnectionIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html" title="class in org.apache.guacamole.net.auth">DelegatingSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/SharingProfile.html#getPrimaryConnectionIdentifier--">getPrimaryConnectionIdentifier()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/SharingProfile.html" title="interface in org.apache.guacamole.net.auth">SharingProfile</a></dt>
<dd>
<div class="block">Returns the identifier of the primary connection associated with this
 connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/Environment.html#getProperty-org.apache.guacamole.properties.GuacamoleProperty-">getProperty(GuacamoleProperty&lt;Type&gt;)</a></span> - Method in interface org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/Environment.html" title="interface in org.apache.guacamole.environment">Environment</a></dt>
<dd>
<div class="block">Given a GuacamoleProperty, parses and returns the value set for that
 property in guacamole.properties, if any.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/Environment.html#getProperty-org.apache.guacamole.properties.GuacamoleProperty-Type-">getProperty(GuacamoleProperty&lt;Type&gt;, Type)</a></span> - Method in interface org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/Environment.html" title="interface in org.apache.guacamole.environment">Environment</a></dt>
<dd>
<div class="block">Given a GuacamoleProperty, parses and returns the value set for that
 property in guacamole.properties, if any.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/LocalEnvironment.html#getProperty-org.apache.guacamole.properties.GuacamoleProperty-">getProperty(GuacamoleProperty&lt;Type&gt;)</a></span> - Method in class org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/LocalEnvironment.html" title="class in org.apache.guacamole.environment">LocalEnvironment</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/LocalEnvironment.html#getProperty-org.apache.guacamole.properties.GuacamoleProperty-Type-">getProperty(GuacamoleProperty&lt;Type&gt;, Type)</a></span> - Method in class org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/LocalEnvironment.html" title="class in org.apache.guacamole.environment">LocalEnvironment</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/Environment.html#getProtocol-java.lang.String-">getProtocol(String)</a></span> - Method in interface org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/Environment.html" title="interface in org.apache.guacamole.environment">Environment</a></dt>
<dd>
<div class="block">Returns the protocol having the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/LocalEnvironment.html#getProtocol-java.lang.String-">getProtocol(String)</a></span> - Method in class org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/LocalEnvironment.html" title="class in org.apache.guacamole.environment">LocalEnvironment</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/Environment.html#getProtocols--">getProtocols()</a></span> - Method in interface org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/Environment.html" title="interface in org.apache.guacamole.environment">Environment</a></dt>
<dd>
<div class="block">Returns a map of all available protocols, where each key is the name of
 that protocol as would be passed to guacd during connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/LocalEnvironment.html#getProtocols--">getProtocols()</a></span> - Method in class org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/LocalEnvironment.html" title="class in org.apache.guacamole.environment">LocalEnvironment</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Credentials.html#getRemoteAddress--">getRemoteAddress()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a></dt>
<dd>
<div class="block">Returns the address of the client end of the connection which provided
 these credentials, if known.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html#getRemoteHost--">getRemoteHost()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html" title="class in org.apache.guacamole.net.auth">AbstractActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#getRemoteHost--">getRemoteHost()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>
<div class="block">Returns the hostname or IP address of the remote host that initiated the
 connection, if known.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActivityRecord.html#getRemoteHost--">getRemoteHost()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActivityRecord.html" title="interface in org.apache.guacamole.net.auth">ActivityRecord</a></dt>
<dd>
<div class="block">Returns the hostname or IP address of the remote host that performed the
 activity associated with this record, if known.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Credentials.html#getRemoteHostname--">getRemoteHostname()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a></dt>
<dd>
<div class="block">Returns the hostname of the client end of the connection which provided
 these credentials, if known.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Credentials.html#getRequest--">getRequest()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a></dt>
<dd>
<div class="block">Returns the HttpServletRequest associated with this set of credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/Environment.html#getRequiredProperty-org.apache.guacamole.properties.GuacamoleProperty-">getRequiredProperty(GuacamoleProperty&lt;Type&gt;)</a></span> - Method in interface org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/Environment.html" title="interface in org.apache.guacamole.environment">Environment</a></dt>
<dd>
<div class="block">Given a GuacamoleProperty, parses and returns the value set for that
 property in guacamole.properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/LocalEnvironment.html#getRequiredProperty-org.apache.guacamole.properties.GuacamoleProperty-">getRequiredProperty(GuacamoleProperty&lt;Type&gt;)</a></span> - Method in class org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/LocalEnvironment.html" title="class in org.apache.guacamole.environment">LocalEnvironment</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html#getResource--">getResource()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth">AbstractAuthenticationProvider</a></dt>
<dd>
<div class="block">Returns an arbitrary REST resource representing this
 AuthenticationProvider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getResource--">getResource()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Returns an arbitrary REST resource representing this UserContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AuthenticationProvider.html#getResource--">getResource()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AuthenticationProvider.html" title="interface in org.apache.guacamole.net.auth">AuthenticationProvider</a></dt>
<dd>
<div class="block">Returns an arbitrary REST resource representing this
 AuthenticationProvider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getResource--">getResource()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html#getResource--">getResource()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getResource--">getResource()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Returns an arbitrary REST resource representing this UserContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getRootConnectionGroup--">getRootConnectionGroup()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Retrieves a connection group which can be used to view and manipulate
 connections, but only as allowed by the permissions given to the user of 
 this UserContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getRootConnectionGroup--">getRootConnectionGroup()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getRootConnectionGroup--">getRootConnectionGroup()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Retrieves a connection group which can be used to view and manipulate
 connections, but only as allowed by the permissions given to the user of 
 this UserContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Credentials.html#getSession--">getSession()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a></dt>
<dd>
<div class="block">Returns the HttpSession associated with this set of credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Shareable.html#getSharingCredentials-java.lang.String-">getSharingCredentials(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Shareable.html" title="interface in org.apache.guacamole.net.auth">Shareable</a></dt>
<dd>
<div class="block">Returns a full set of credentials which can be used to authenticate as a
 user with access strictly to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getSharingProfileAttributes--">getSharingProfileAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Retrieves a collection of all attributes applicable to sharing profiles.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getSharingProfileAttributes--">getSharingProfileAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getSharingProfileAttributes--">getSharingProfileAttributes()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Retrieves a collection of all attributes applicable to sharing profiles.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getSharingProfileDirectory--">getSharingProfileDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Retrieves a Directory which can be used to view and manipulate
 sharing profiles and their configurations, but only as allowed by the
 permissions given to the user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getSharingProfileDirectory--">getSharingProfileDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getSharingProfileDirectory--">getSharingProfileDirectory()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Retrieves a Directory which can be used to view and manipulate
 sharing profiles and their configurations, but only as allowed by the
 permissions given to the user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/protocols/ProtocolInfo.html#getSharingProfileForms--">getSharingProfileForms()</a></span> - Method in class org.apache.guacamole.protocols.<a href="org/apache/guacamole/protocols/ProtocolInfo.html" title="class in org.apache.guacamole.protocols">ProtocolInfo</a></dt>
<dd>
<div class="block">Returns a mutable collection of forms describing all known parameters
 relevant to a sharing profile whose primary connection uses this
 protocol.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html#getSharingProfileIdentifier--">getSharingProfileIdentifier()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html" title="class in org.apache.guacamole.net.auth">AbstractActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#getSharingProfileIdentifier--">getSharingProfileIdentifier()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>
<div class="block">Returns the identifier of the sharing profile being actively used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ConnectionRecord.html#getSharingProfileIdentifier--">getSharingProfileIdentifier()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ConnectionRecord.html" title="interface in org.apache.guacamole.net.auth">ConnectionRecord</a></dt>
<dd>
<div class="block">Returns the identifier of the sharing profile that was used to access the
 connection associated with this connection record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnection.html#getSharingProfileIdentifiers--">getSharingProfileIdentifiers()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnection.html" title="class in org.apache.guacamole.net.auth">AbstractConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Connection.html#getSharingProfileIdentifiers--">getSharingProfileIdentifiers()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Connection.html" title="interface in org.apache.guacamole.net.auth">Connection</a></dt>
<dd>
<div class="block">Returns identifiers of all readable sharing profiles that can be used to
 join this connection when it is active.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#getSharingProfileIdentifiers--">getSharingProfileIdentifiers()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ConnectionRecord.html#getSharingProfileName--">getSharingProfileName()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ConnectionRecord.html" title="interface in org.apache.guacamole.net.auth">ConnectionRecord</a></dt>
<dd>
<div class="block">Returns the name of the sharing profile that was used to access the
 connection associated with this connection record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#getSharingProfilePermissions--">getSharingProfilePermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>
<div class="block">Returns all sharing profile permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserGroup.html#getSharingProfilePermissions--">getSharingProfilePermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserGroup.html" title="class in org.apache.guacamole.net.auth">AbstractUserGroup</a></dt>
<dd>
<div class="block">Returns all sharing profile permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getSharingProfilePermissions--">getSharingProfilePermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#getSharingProfilePermissions--">getSharingProfilePermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Permissions.html#getSharingProfilePermissions--">getSharingProfilePermissions()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Permissions.html" title="interface in org.apache.guacamole.net.auth">Permissions</a></dt>
<dd>
<div class="block">Returns all sharing profile permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html#getStartDate--">getStartDate()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html" title="class in org.apache.guacamole.net.auth">AbstractActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#getStartDate--">getStartDate()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>
<div class="block">Returns the date and time the connection began.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActivityRecord.html#getStartDate--">getStartDate()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActivityRecord.html" title="interface in org.apache.guacamole.net.auth">ActivityRecord</a></dt>
<dd>
<div class="block">Returns the date and time the activity began.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#getSystemPermissions--">getSystemPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>
<div class="block">Returns all system-level permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserGroup.html#getSystemPermissions--">getSystemPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserGroup.html" title="class in org.apache.guacamole.net.auth">AbstractUserGroup</a></dt>
<dd>
<div class="block">Returns all system-level permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getSystemPermissions--">getSystemPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#getSystemPermissions--">getSystemPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Permissions.html#getSystemPermissions--">getSystemPermissions()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Permissions.html" title="interface in org.apache.guacamole.net.auth">Permissions</a></dt>
<dd>
<div class="block">Returns all system-level permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/FieldOption.html#getTitle--">getTitle()</a></span> - Method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/FieldOption.html" title="class in org.apache.guacamole.form">FieldOption</a></dt>
<dd>
<div class="block">Returns the human-readable title describing the effect of this option.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/TokenFilter.html#getToken-java.lang.String-">getToken(String)</a></span> - Method in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/TokenFilter.html" title="class in org.apache.guacamole.token">TokenFilter</a></dt>
<dd>
<div class="block">Returns the value of the token with the given name, or null if no such
 token has been set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/TokenInjectingUserContext.html#getTokens-org.apache.guacamole.net.auth.Connection-">getTokens(Connection)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/TokenInjectingUserContext.html" title="class in org.apache.guacamole.net.auth">TokenInjectingUserContext</a></dt>
<dd>
<div class="block">Returns the tokens which should be added to an in-progress call to
 connect() for the given Connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/TokenInjectingUserContext.html#getTokens-org.apache.guacamole.net.auth.ConnectionGroup-">getTokens(ConnectionGroup)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/TokenInjectingUserContext.html" title="class in org.apache.guacamole.net.auth">TokenInjectingUserContext</a></dt>
<dd>
<div class="block">Returns the tokens which should be added to an in-progress call to
 connect() for the given ConnectionGroup.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/TokenFilter.html#getTokens--">getTokens()</a></span> - Method in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/TokenFilter.html" title="class in org.apache.guacamole.token">TokenFilter</a></dt>
<dd>
<div class="block">Returns a map of all tokens, with each key being a token name, and each
 value being the corresponding token value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/language/Translatable.html#getTranslatableMessage--">getTranslatableMessage()</a></span> - Method in interface org.apache.guacamole.language.<a href="org/apache/guacamole/language/Translatable.html" title="interface in org.apache.guacamole.language">Translatable</a></dt>
<dd>
<div class="block">Returns a message which can be translated using a translation service,
 consisting of a translation key and optional set of substitution
 variables.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html#getTunnel--">getTunnel()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html" title="class in org.apache.guacamole.net.auth">AbstractActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#getTunnel--">getTunnel()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>
<div class="block">Returns the connected GuacamoleTunnel being used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/TunnelCloseEvent.html#getTunnel--">getTunnel()</a></span> - Method in class org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/TunnelCloseEvent.html" title="class in org.apache.guacamole.net.event">TunnelCloseEvent</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/TunnelConnectEvent.html#getTunnel--">getTunnel()</a></span> - Method in class org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/TunnelConnectEvent.html" title="class in org.apache.guacamole.net.event">TunnelConnectEvent</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/TunnelEvent.html#getTunnel--">getTunnel()</a></span> - Method in interface org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/TunnelEvent.html" title="interface in org.apache.guacamole.net.event">TunnelEvent</a></dt>
<dd>
<div class="block">Returns the tunnel associated with this event, if any.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.html#getType--">getType()</a></span> - Method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.html" title="class in org.apache.guacamole.form">Field</a></dt>
<dd>
<div class="block">Returns the type of this field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html#getType--">getType()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html" title="class in org.apache.guacamole.net.auth">AbstractConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ConnectionGroup.html#getType--">getType()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ConnectionGroup.html" title="interface in org.apache.guacamole.net.auth">ConnectionGroup</a></dt>
<dd>
<div class="block">Returns the type of this connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#getType--">getType()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermission.html#getType--">getType()</a></span> - Method in class org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermission.html" title="class in org.apache.guacamole.net.auth.permission">ObjectPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/Permission.html#getType--">getType()</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/Permission.html" title="interface in org.apache.guacamole.net.auth.permission">Permission</a></dt>
<dd>
<div class="block">Returns the type of operation affected by this permission.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/SystemPermission.html#getType--">getType()</a></span> - Method in class org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/SystemPermission.html" title="class in org.apache.guacamole.net.auth.permission">SystemPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getUserAttributes--">getUserAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Retrieves a collection of all attributes applicable to users.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getUserAttributes--">getUserAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getUserAttributes--">getUserAttributes()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Retrieves a collection of all attributes applicable to users.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html#getUserContext-org.apache.guacamole.net.auth.AuthenticatedUser-">getUserContext(AuthenticatedUser)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth">AbstractAuthenticationProvider</a></dt>
<dd>
<div class="block">Returns the UserContext of the user authenticated by the given
 credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AuthenticationProvider.html#getUserContext-org.apache.guacamole.net.auth.AuthenticatedUser-">getUserContext(AuthenticatedUser)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AuthenticationProvider.html" title="interface in org.apache.guacamole.net.auth">AuthenticationProvider</a></dt>
<dd>
<div class="block">Returns the UserContext of the user authenticated by the given
 credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.html#getUserContext-org.apache.guacamole.net.auth.AuthenticatedUser-">getUserContext(AuthenticatedUser)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth.simple">SimpleAuthenticationProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getUserDirectory--">getUserDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Retrieves a Directory which can be used to view and manipulate other
 users, but only as allowed by the permissions given to the user of this
 UserContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getUserDirectory--">getUserDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getUserDirectory--">getUserDirectory()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Retrieves a Directory which can be used to view and manipulate other
 users, but only as allowed by the permissions given to the user of this
 UserContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getUserGroupAttributes--">getUserGroupAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Retrieves a collection of all attributes applicable to user groups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getUserGroupAttributes--">getUserGroupAttributes()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getUserGroupAttributes--">getUserGroupAttributes()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Retrieves a collection of all attributes applicable to user groups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getUserGroupDirectory--">getUserGroupDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Retrieves a Directory which can be used to view and manipulate user
 groups, but only as allowed by the permissions given to the user of this
 UserContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getUserGroupDirectory--">getUserGroupDirectory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getUserGroupDirectory--">getUserGroupDirectory()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Retrieves a Directory which can be used to view and manipulate user
 groups, but only as allowed by the permissions given to the user of this
 UserContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#getUserGroupPermissions--">getUserGroupPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>
<div class="block">Returns all user group permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserGroup.html#getUserGroupPermissions--">getUserGroupPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserGroup.html" title="class in org.apache.guacamole.net.auth">AbstractUserGroup</a></dt>
<dd>
<div class="block">Returns all user group permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getUserGroupPermissions--">getUserGroupPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#getUserGroupPermissions--">getUserGroupPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Permissions.html#getUserGroupPermissions--">getUserGroupPermissions()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Permissions.html" title="interface in org.apache.guacamole.net.auth">Permissions</a></dt>
<dd>
<div class="block">Returns all user group permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#getUserGroups--">getUserGroups()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>
<div class="block">Returns a set of all readable user groups of which this user is a member.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserGroup.html#getUserGroups--">getUserGroups()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserGroup.html" title="class in org.apache.guacamole.net.auth">AbstractUserGroup</a></dt>
<dd>
<div class="block">Returns a set of all readable user groups of which this user group is a
 member.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getUserGroups--">getUserGroups()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#getUserGroups--">getUserGroups()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/User.html#getUserGroups--">getUserGroups()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/User.html" title="interface in org.apache.guacamole.net.auth">User</a></dt>
<dd>
<div class="block">Returns a set of all readable user groups of which this user is a member.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserGroup.html#getUserGroups--">getUserGroups()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserGroup.html" title="interface in org.apache.guacamole.net.auth">UserGroup</a></dt>
<dd>
<div class="block">Returns a set of all readable user groups of which this user group is a
 member.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#getUserHistory--">getUserHistory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Retrieves all user history records visible to current user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#getUserHistory--">getUserHistory()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#getUserHistory--">getUserHistory()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Retrieves all user history records visible to current user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html#getUsername--">getUsername()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html" title="class in org.apache.guacamole.net.auth">AbstractActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#getUsername--">getUsername()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>
<div class="block">Returns the name of the user who is using this connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActivityRecord.html#getUsername--">getUsername()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActivityRecord.html" title="interface in org.apache.guacamole.net.auth">ActivityRecord</a></dt>
<dd>
<div class="block">Returns the name of the user who performed or is performing the activity
 at the times given by this record.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Credentials.html#getUsername--">getUsername()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a></dt>
<dd>
<div class="block">Returns the username associated with this set of credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#getUserPermissions--">getUserPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>
<div class="block">Returns all user permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserGroup.html#getUserPermissions--">getUserPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserGroup.html" title="class in org.apache.guacamole.net.auth">AbstractUserGroup</a></dt>
<dd>
<div class="block">Returns all user permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#getUserPermissions--">getUserPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#getUserPermissions--">getUserPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Permissions.html#getUserPermissions--">getUserPermissions()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Permissions.html" title="interface in org.apache.guacamole.net.auth">Permissions</a></dt>
<dd>
<div class="block">Returns all user permissions given to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUser.html#getUserPermissions--">getUserPermissions()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUser.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/FieldOption.html#getValue--">getValue()</a></span> - Method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/FieldOption.html" title="class in org.apache.guacamole.form">FieldOption</a></dt>
<dd>
<div class="block">Returns the value that will be assigned if this option is chosen.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html#getValue-java.lang.String-">getValue(String)</a></span> - Method in class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html" title="class in org.apache.guacamole.net.auth.credentials">UserCredentials</a></dt>
<dd>
<div class="block">Returns the value defined by this UserCrendentials object for the field
 having the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html#getValue-org.apache.guacamole.form.Field-">getValue(Field)</a></span> - Method in class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html" title="class in org.apache.guacamole.net.auth.credentials">UserCredentials</a></dt>
<dd>
<div class="block">Returns the value defined by this UserCrendentials object for the given
 field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html#getValues--">getValues()</a></span> - Method in class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html" title="class in org.apache.guacamole.net.auth.credentials">UserCredentials</a></dt>
<dd>
<div class="block">Returns a map of field names to values which backs this UserCredentials
 object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/language/TranslatableMessage.html#getVariables--">getVariables()</a></span> - Method in class org.apache.guacamole.language.<a href="org/apache/guacamole/language/TranslatableMessage.html" title="class in org.apache.guacamole.language">TranslatableMessage</a></dt>
<dd>
<div class="block">Returns an arbitrary object whose properties should be substituted for
 the corresponding placeholders within the string associated with the key.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/credentials/GuacamoleCredentialsException.html" title="class in org.apache.guacamole.net.auth.credentials"><span class="typeNameLink">GuacamoleCredentialsException</span></a> - Exception in <a href="org/apache/guacamole/net/auth/credentials/package-summary.html">org.apache.guacamole.net.auth.credentials</a></dt>
<dd>
<div class="block">A security-related exception thrown when access is denied to a user because
 of a problem related to the provided credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/GuacamoleCredentialsException.html#GuacamoleCredentialsException-java.lang.String-java.lang.Throwable-org.apache.guacamole.net.auth.credentials.CredentialsInfo-">GuacamoleCredentialsException(String, Throwable, CredentialsInfo)</a></span> - Constructor for exception org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/GuacamoleCredentialsException.html" title="class in org.apache.guacamole.net.auth.credentials">GuacamoleCredentialsException</a></dt>
<dd>
<div class="block">Creates a new GuacamoleInvalidCredentialsException with the given
 message, cause, and associated credential information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/GuacamoleCredentialsException.html#GuacamoleCredentialsException-java.lang.String-org.apache.guacamole.net.auth.credentials.CredentialsInfo-">GuacamoleCredentialsException(String, CredentialsInfo)</a></span> - Constructor for exception org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/GuacamoleCredentialsException.html" title="class in org.apache.guacamole.net.auth.credentials">GuacamoleCredentialsException</a></dt>
<dd>
<div class="block">Creates a new GuacamoleInvalidCredentialsException with the given
 message and associated credential information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/GuacamoleCredentialsException.html#GuacamoleCredentialsException-java.lang.Throwable-org.apache.guacamole.net.auth.credentials.CredentialsInfo-">GuacamoleCredentialsException(Throwable, CredentialsInfo)</a></span> - Constructor for exception org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/GuacamoleCredentialsException.html" title="class in org.apache.guacamole.net.auth.credentials">GuacamoleCredentialsException</a></dt>
<dd>
<div class="block">Creates a new GuacamoleInvalidCredentialsException with the given cause
 and associated credential information.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/credentials/GuacamoleInsufficientCredentialsException.html" title="class in org.apache.guacamole.net.auth.credentials"><span class="typeNameLink">GuacamoleInsufficientCredentialsException</span></a> - Exception in <a href="org/apache/guacamole/net/auth/credentials/package-summary.html">org.apache.guacamole.net.auth.credentials</a></dt>
<dd>
<div class="block">A security-related exception thrown when access is denied to a user because
 the provided credentials are not sufficient for authentication to succeed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/GuacamoleInsufficientCredentialsException.html#GuacamoleInsufficientCredentialsException-java.lang.String-java.lang.Throwable-org.apache.guacamole.net.auth.credentials.CredentialsInfo-">GuacamoleInsufficientCredentialsException(String, Throwable, CredentialsInfo)</a></span> - Constructor for exception org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/GuacamoleInsufficientCredentialsException.html" title="class in org.apache.guacamole.net.auth.credentials">GuacamoleInsufficientCredentialsException</a></dt>
<dd>
<div class="block">Creates a new GuacamoleInsufficientCredentialsException with the given
 message, cause, and associated credential information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/GuacamoleInsufficientCredentialsException.html#GuacamoleInsufficientCredentialsException-java.lang.String-org.apache.guacamole.net.auth.credentials.CredentialsInfo-">GuacamoleInsufficientCredentialsException(String, CredentialsInfo)</a></span> - Constructor for exception org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/GuacamoleInsufficientCredentialsException.html" title="class in org.apache.guacamole.net.auth.credentials">GuacamoleInsufficientCredentialsException</a></dt>
<dd>
<div class="block">Creates a new GuacamoleInsufficientCredentialsException with the given
 message and associated credential information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/GuacamoleInsufficientCredentialsException.html#GuacamoleInsufficientCredentialsException-java.lang.Throwable-org.apache.guacamole.net.auth.credentials.CredentialsInfo-">GuacamoleInsufficientCredentialsException(Throwable, CredentialsInfo)</a></span> - Constructor for exception org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/GuacamoleInsufficientCredentialsException.html" title="class in org.apache.guacamole.net.auth.credentials">GuacamoleInsufficientCredentialsException</a></dt>
<dd>
<div class="block">Creates a new GuacamoleInsufficientCredentialsException with the given
 cause and associated credential information.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/credentials/GuacamoleInvalidCredentialsException.html" title="class in org.apache.guacamole.net.auth.credentials"><span class="typeNameLink">GuacamoleInvalidCredentialsException</span></a> - Exception in <a href="org/apache/guacamole/net/auth/credentials/package-summary.html">org.apache.guacamole.net.auth.credentials</a></dt>
<dd>
<div class="block">A security-related exception thrown when access is denied to a user because
 the provided credentials are invalid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/GuacamoleInvalidCredentialsException.html#GuacamoleInvalidCredentialsException-java.lang.String-java.lang.Throwable-org.apache.guacamole.net.auth.credentials.CredentialsInfo-">GuacamoleInvalidCredentialsException(String, Throwable, CredentialsInfo)</a></span> - Constructor for exception org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/GuacamoleInvalidCredentialsException.html" title="class in org.apache.guacamole.net.auth.credentials">GuacamoleInvalidCredentialsException</a></dt>
<dd>
<div class="block">Creates a new GuacamoleInvalidCredentialsException with the given
 message, cause, and associated credential information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/GuacamoleInvalidCredentialsException.html#GuacamoleInvalidCredentialsException-java.lang.String-org.apache.guacamole.net.auth.credentials.CredentialsInfo-">GuacamoleInvalidCredentialsException(String, CredentialsInfo)</a></span> - Constructor for exception org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/GuacamoleInvalidCredentialsException.html" title="class in org.apache.guacamole.net.auth.credentials">GuacamoleInvalidCredentialsException</a></dt>
<dd>
<div class="block">Creates a new GuacamoleInvalidCredentialsException with the given
 message and associated credential information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/GuacamoleInvalidCredentialsException.html#GuacamoleInvalidCredentialsException-java.lang.Throwable-org.apache.guacamole.net.auth.credentials.CredentialsInfo-">GuacamoleInvalidCredentialsException(Throwable, CredentialsInfo)</a></span> - Constructor for exception org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/GuacamoleInvalidCredentialsException.html" title="class in org.apache.guacamole.net.auth.credentials">GuacamoleInvalidCredentialsException</a></dt>
<dd>
<div class="block">Creates a new GuacamoleInvalidCredentialsException with the given cause
 and associated credential information.</div>
</dd>
<dt><a href="org/apache/guacamole/properties/GuacamoleProperty.html" title="interface in org.apache.guacamole.properties"><span class="typeNameLink">GuacamoleProperty</span></a>&lt;<a href="org/apache/guacamole/properties/GuacamoleProperty.html" title="type parameter in GuacamoleProperty">Type</a>&gt; - Interface in <a href="org/apache/guacamole/properties/package-summary.html">org.apache.guacamole.properties</a></dt>
<dd>
<div class="block">An abstract representation of a property in the guacamole.properties file,
 which parses into a specific type.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">GuacamoleProxyConfiguration</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Information which describes how the connection to guacd should be
 established.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.html#GuacamoleProxyConfiguration-java.lang.String-int-org.apache.guacamole.net.auth.GuacamoleProxyConfiguration.EncryptionMethod-">GuacamoleProxyConfiguration(String, int, GuacamoleProxyConfiguration.EncryptionMethod)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.html" title="class in org.apache.guacamole.net.auth">GuacamoleProxyConfiguration</a></dt>
<dd>
<div class="block">Creates a new GuacamoleProxyConfiguration having the given hostname,
 port, and encryption method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.html#GuacamoleProxyConfiguration-java.lang.String-int-boolean-">GuacamoleProxyConfiguration(String, int, boolean)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.html" title="class in org.apache.guacamole.net.auth">GuacamoleProxyConfiguration</a></dt>
<dd>
<div class="block">Creates a new GuacamoleProxyConfiguration having the given hostname and
 port, with encryption method being restricted to either NONE or SSL.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.EncryptionMethod.html" title="enum in org.apache.guacamole.net.auth"><span class="typeNameLink">GuacamoleProxyConfiguration.EncryptionMethod</span></a> - Enum in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">All possible types of encryption used by guacd.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/Environment.html#GUACD_HOSTNAME">GUACD_HOSTNAME</a></span> - Static variable in interface org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/Environment.html" title="interface in org.apache.guacamole.environment">Environment</a></dt>
<dd>
<div class="block">The hostname of the server where guacd (the Guacamole proxy server) is
 running.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/Environment.html#GUACD_PORT">GUACD_PORT</a></span> - Static variable in interface org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/Environment.html" title="interface in org.apache.guacamole.environment">Environment</a></dt>
<dd>
<div class="block">The port that guacd (the Guacamole proxy server) is listening on.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/Environment.html#GUACD_SSL">GUACD_SSL</a></span> - Static variable in interface org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/Environment.html" title="interface in org.apache.guacamole.environment">Environment</a></dt>
<dd>
<div class="block">Whether guacd requires SSL/TLS on connections.</div>
</dd>
</dl>
<a name="I:H">
<!--   -->
</a>
<h2 class="title">H</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/listener/Listener.html#handleEvent-java.lang.Object-">handleEvent(Object)</a></span> - Method in interface org.apache.guacamole.net.event.listener.<a href="org/apache/guacamole/net/event/listener/Listener.html" title="interface in org.apache.guacamole.net.event.listener">Listener</a></dt>
<dd>
<div class="block">Notifies the recipient that an event has occurred.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractIdentifiable.html#hashCode--">hashCode()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractIdentifiable.html" title="class in org.apache.guacamole.net.auth">AbstractIdentifiable</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html#hashCode--">hashCode()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html" title="class in org.apache.guacamole.net.auth">AbstractSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermission.html#hashCode--">hashCode()</a></span> - Method in class org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermission.html" title="class in org.apache.guacamole.net.auth.permission">ObjectPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/SystemPermission.html#hashCode--">hashCode()</a></span> - Method in class org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/SystemPermission.html" title="class in org.apache.guacamole.net.auth.permission">SystemPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html#hasPermission-org.apache.guacamole.net.auth.permission.ObjectPermission.Type-java.lang.String-">hasPermission(ObjectPermission.Type, String)</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">ObjectPermissionSet</a></dt>
<dd>
<div class="block">Tests whether the permission of the given type is granted for the
 object having the given identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html#hasPermission-org.apache.guacamole.net.auth.permission.SystemPermission.Type-">hasPermission(SystemPermission.Type)</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">SystemPermissionSet</a></dt>
<dd>
<div class="block">Tests whether the permission of the given type is granted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html#hasPermission-org.apache.guacamole.net.auth.permission.ObjectPermission.Type-java.lang.String-">hasPermission(ObjectPermission.Type, String)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleObjectPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html#hasPermission-org.apache.guacamole.net.auth.permission.SystemPermission.Type-">hasPermission(SystemPermission.Type)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleSystemPermissionSet</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><a href="org/apache/guacamole/net/auth/Identifiable.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">Identifiable</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">An object which has a deterministic, unique identifier, which may not be
 null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/xml/TagHandler.html#init-org.xml.sax.Attributes-">init(Attributes)</a></span> - Method in interface org.apache.guacamole.xml.<a href="org/apache/guacamole/xml/TagHandler.html" title="interface in org.apache.guacamole.xml">TagHandler</a></dt>
<dd>
<div class="block">Called when the element corresponding to this TagHandler is first seen,
 just after an instance is created.</div>
</dd>
<dt><a href="org/apache/guacamole/properties/IntegerGuacamoleProperty.html" title="class in org.apache.guacamole.properties"><span class="typeNameLink">IntegerGuacamoleProperty</span></a> - Class in <a href="org/apache/guacamole/properties/package-summary.html">org.apache.guacamole.properties</a></dt>
<dd>
<div class="block">A GuacamoleProperty whose value is an integer.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/properties/IntegerGuacamoleProperty.html#IntegerGuacamoleProperty--">IntegerGuacamoleProperty()</a></span> - Constructor for class org.apache.guacamole.properties.<a href="org/apache/guacamole/properties/IntegerGuacamoleProperty.html" title="class in org.apache.guacamole.properties">IntegerGuacamoleProperty</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractAuthenticatedUser.html#invalidate--">invalidate()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractAuthenticatedUser.html" title="class in org.apache.guacamole.net.auth">AbstractAuthenticatedUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserContext.html#invalidate--">invalidate()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserContext.html" title="class in org.apache.guacamole.net.auth">AbstractUserContext</a></dt>
<dd>
<div class="block">Invalidates this user context, releasing all associated resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AuthenticatedUser.html#invalidate--">invalidate()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AuthenticatedUser.html" title="interface in org.apache.guacamole.net.auth">AuthenticatedUser</a></dt>
<dd>
<div class="block">Invalidates this authenticated user and their associated token such that
 they are no longer logged in.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#invalidate--">invalidate()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#invalidate--">invalidate()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Invalidates this user context, releasing all associated resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActivityRecord.html#isActive--">isActive()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActivityRecord.html" title="interface in org.apache.guacamole.net.auth">ActivityRecord</a></dt>
<dd>
<div class="block">Returns whether the activity associated with this record is still
 ongoing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#isConnectable--">isConnectable()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>
<div class="block">Returns whether this ActiveConnection may be joined through a call to
 <a href="org/apache/guacamole/net/auth/ActiveConnection.html#connect-org.apache.guacamole.protocol.GuacamoleClientInformation-java.util.Map-"><code>ActiveConnection.connect(org.apache.guacamole.protocol.GuacamoleClientInformation, java.util.Map)</code></a>
 by the user that retrieved this ActiveConnection.</div>
</dd>
</dl>
<a name="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#LANGUAGE">LANGUAGE</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>
<div class="block">Field type which allows selection of languages.</div>
</dd>
<dt><a href="org/apache/guacamole/form/LanguageField.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">LanguageField</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Represents a language field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/LanguageField.html#LanguageField-java.lang.String-">LanguageField(String)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/LanguageField.html" title="class in org.apache.guacamole.form">LanguageField</a></dt>
<dd>
<div class="block">Creates a new LanguageField with the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActivityRecordSet.html#limit-int-">limit(int)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActivityRecordSet.html" title="interface in org.apache.guacamole.net.auth">ActivityRecordSet</a></dt>
<dd>
<div class="block">Returns the subset of records containing only the first
 <code>limit</code> records.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.html#limit-int-">limit(int)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleActivityRecordSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.html#limit-int-">limit(int)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionRecordSet</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/event/listener/Listener.html" title="interface in org.apache.guacamole.net.event.listener"><span class="typeNameLink">Listener</span></a> - Interface in <a href="org/apache/guacamole/net/event/listener/package-summary.html">org.apache.guacamole.net.event.listener</a></dt>
<dd>
<div class="block">A listener for events that occur in handing various Guacamole requests
 such as authentication, tunnel connect/close, etc.</div>
</dd>
<dt><a href="org/apache/guacamole/environment/LocalEnvironment.html" title="class in org.apache.guacamole.environment"><span class="typeNameLink">LocalEnvironment</span></a> - Class in <a href="org/apache/guacamole/environment/package-summary.html">org.apache.guacamole.environment</a></dt>
<dd>
<div class="block">The environment of the locally-running Guacamole instance, describing
 available protocols, configuration parameters, and the GUACAMOLE_HOME
 directory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/environment/LocalEnvironment.html#LocalEnvironment--">LocalEnvironment()</a></span> - Constructor for class org.apache.guacamole.environment.<a href="org/apache/guacamole/environment/LocalEnvironment.html" title="class in org.apache.guacamole.environment">LocalEnvironment</a></dt>
<dd>
<div class="block">Creates a new Environment, initializing that environment based on the
 location of GUACAMOLE_HOME and the contents of guacamole.properties.</div>
</dd>
<dt><a href="org/apache/guacamole/properties/LongGuacamoleProperty.html" title="class in org.apache.guacamole.properties"><span class="typeNameLink">LongGuacamoleProperty</span></a> - Class in <a href="org/apache/guacamole/properties/package-summary.html">org.apache.guacamole.properties</a></dt>
<dd>
<div class="block">A GuacamoleProperty whose value is an long.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/properties/LongGuacamoleProperty.html#LongGuacamoleProperty--">LongGuacamoleProperty()</a></span> - Constructor for class org.apache.guacamole.properties.<a href="org/apache/guacamole/properties/LongGuacamoleProperty.html" title="class in org.apache.guacamole.properties">LongGuacamoleProperty</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:M">
<!--   -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#MULTILINE">MULTILINE</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>
<div class="block">A text field that can span more than one line.</div>
</dd>
<dt><a href="org/apache/guacamole/form/MultilineField.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">MultilineField</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Represents a field which can contain multiple lines of text.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/MultilineField.html#MultilineField-java.lang.String-">MultilineField(String)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/MultilineField.html" title="class in org.apache.guacamole.form">MultilineField</a></dt>
<dd>
<div class="block">Creates a new MultilineField with the given name.</div>
</dd>
</dl>
<a name="I:N">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#NUMERIC">NUMERIC</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>
<div class="block">A numeric field, whose value must contain only digits.</div>
</dd>
<dt><a href="org/apache/guacamole/form/NumericField.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">NumericField</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Represents a field which may contain only integer values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/NumericField.html#NumericField-java.lang.String-">NumericField(String)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/NumericField.html" title="class in org.apache.guacamole.form">NumericField</a></dt>
<dd>
<div class="block">Creates a new NumericField with the given name.</div>
</dd>
</dl>
<a name="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="org/apache/guacamole/net/auth/permission/ObjectPermission.html" title="class in org.apache.guacamole.net.auth.permission"><span class="typeNameLink">ObjectPermission</span></a> - Class in <a href="org/apache/guacamole/net/auth/permission/package-summary.html">org.apache.guacamole.net.auth.permission</a></dt>
<dd>
<div class="block">A permission which affects a specific object, rather than the system as a
 whole.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermission.html#ObjectPermission-org.apache.guacamole.net.auth.permission.ObjectPermission.Type-java.lang.String-">ObjectPermission(ObjectPermission.Type, String)</a></span> - Constructor for class org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermission.html" title="class in org.apache.guacamole.net.auth.permission">ObjectPermission</a></dt>
<dd>
<div class="block">Creates a new ObjectPermission having the given type and identifier.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/permission/ObjectPermission.Type.html" title="enum in org.apache.guacamole.net.auth.permission"><span class="typeNameLink">ObjectPermission.Type</span></a> - Enum in <a href="org/apache/guacamole/net/auth/permission/package-summary.html">org.apache.guacamole.net.auth.permission</a></dt>
<dd>
<div class="block">Specific types of object-level permissions.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission"><span class="typeNameLink">ObjectPermissionSet</span></a> - Interface in <a href="org/apache/guacamole/net/auth/permission/package-summary.html">org.apache.guacamole.net.auth.permission</a></dt>
<dd>
<div class="block">A set of permissions which affect arbitrary objects, where each object has
 an associated unique identifier.</div>
</dd>
<dt><a href="org/apache/guacamole/environment/package-summary.html">org.apache.guacamole.environment</a> - package org.apache.guacamole.environment</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a> - package org.apache.guacamole.form</dt>
<dd>
<div class="block">Provides classes which describe the contents and semantics of forms which
 may be presented to the user.</div>
</dd>
<dt><a href="org/apache/guacamole/language/package-summary.html">org.apache.guacamole.language</a> - package org.apache.guacamole.language</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a> - package org.apache.guacamole.net.auth</dt>
<dd>
<div class="block">Provides classes which can be used to extend or replace the authentication
 functionality of the Guacamole web application.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/credentials/package-summary.html">org.apache.guacamole.net.auth.credentials</a> - package org.apache.guacamole.net.auth.credentials</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/permission/package-summary.html">org.apache.guacamole.net.auth.permission</a> - package org.apache.guacamole.net.auth.permission</dt>
<dd>
<div class="block">Provides classes which describe the various permissions a Guacamole user
 can be granted.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a> - package org.apache.guacamole.net.auth.simple</dt>
<dd>
<div class="block">Provides a basic AuthenticationProvider base class that can be used to create
 simple AuthenticationProviders in the same way allowed by the old
 authentication API.</div>
</dd>
<dt><a href="org/apache/guacamole/net/event/package-summary.html">org.apache.guacamole.net.event</a> - package org.apache.guacamole.net.event</dt>
<dd>
<div class="block">Provides classes for storing information about events that are
 triggered when users log into and use the Guacamole web application.</div>
</dd>
<dt><a href="org/apache/guacamole/net/event/listener/package-summary.html">org.apache.guacamole.net.event.listener</a> - package org.apache.guacamole.net.event.listener</dt>
<dd>
<div class="block">Provides classes for hooking into various events that take place as
 users log into and use the Guacamole web application.</div>
</dd>
<dt><a href="org/apache/guacamole/properties/package-summary.html">org.apache.guacamole.properties</a> - package org.apache.guacamole.properties</dt>
<dd>
<div class="block">Provides classes for reading properties from the web-application-wide
 guacamole.properties file.</div>
</dd>
<dt><a href="org/apache/guacamole/protocols/package-summary.html">org.apache.guacamole.protocols</a> - package org.apache.guacamole.protocols</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/token/package-summary.html">org.apache.guacamole.token</a> - package org.apache.guacamole.token</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/xml/package-summary.html">org.apache.guacamole.xml</a> - package org.apache.guacamole.xml</dt>
<dd>
<div class="block">Classes driving the SAX-based XML parser used by the Guacamole web
 application.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/User.Attribute.html#ORGANIZATION">ORGANIZATION</a></span> - Static variable in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/User.Attribute.html" title="class in org.apache.guacamole.net.auth">User.Attribute</a></dt>
<dd>
<div class="block">The organization, company, group, etc.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/User.Attribute.html#ORGANIZATIONAL_ROLE">ORGANIZATIONAL_ROLE</a></span> - Static variable in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/User.Attribute.html" title="class in org.apache.guacamole.net.auth">User.Attribute</a></dt>
<dd>
<div class="block">The role that the user has at the organization, company, group, etc.</div>
</dd>
</dl>
<a name="I:P">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/DateField.html#parse-java.lang.String-">parse(String)</a></span> - Static method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/DateField.html" title="class in org.apache.guacamole.form">DateField</a></dt>
<dd>
<div class="block">Parses the given string into a corresponding date.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/LanguageField.html#parse-java.lang.String-">parse(String)</a></span> - Static method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/LanguageField.html" title="class in org.apache.guacamole.form">LanguageField</a></dt>
<dd>
<div class="block">Parses the given string into a language ID string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/NumericField.html#parse-java.lang.String-">parse(String)</a></span> - Static method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/NumericField.html" title="class in org.apache.guacamole.form">NumericField</a></dt>
<dd>
<div class="block">Parses the given string as an integer, where the given string is in the
 format required by a numeric field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/TextField.html#parse-java.lang.String-">parse(String)</a></span> - Static method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/TextField.html" title="class in org.apache.guacamole.form">TextField</a></dt>
<dd>
<div class="block">Parses the given string, interpreting empty strings as equivalent to
 null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/TimeField.html#parse-java.lang.String-">parse(String)</a></span> - Static method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/TimeField.html" title="class in org.apache.guacamole.form">TimeField</a></dt>
<dd>
<div class="block">Parses the given string into a corresponding time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/TimeZoneField.html#parse-java.lang.String-">parse(String)</a></span> - Static method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/TimeZoneField.html" title="class in org.apache.guacamole.form">TimeZoneField</a></dt>
<dd>
<div class="block">Parses the given string into a time zone ID string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/properties/BooleanGuacamoleProperty.html#parseValue-java.lang.String-">parseValue(String)</a></span> - Method in class org.apache.guacamole.properties.<a href="org/apache/guacamole/properties/BooleanGuacamoleProperty.html" title="class in org.apache.guacamole.properties">BooleanGuacamoleProperty</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/properties/FileGuacamoleProperty.html#parseValue-java.lang.String-">parseValue(String)</a></span> - Method in class org.apache.guacamole.properties.<a href="org/apache/guacamole/properties/FileGuacamoleProperty.html" title="class in org.apache.guacamole.properties">FileGuacamoleProperty</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/properties/GuacamoleProperty.html#parseValue-java.lang.String-">parseValue(String)</a></span> - Method in interface org.apache.guacamole.properties.<a href="org/apache/guacamole/properties/GuacamoleProperty.html" title="interface in org.apache.guacamole.properties">GuacamoleProperty</a></dt>
<dd>
<div class="block">Parses the given string value into the type associated with this
 GuacamoleProperty.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/properties/IntegerGuacamoleProperty.html#parseValue-java.lang.String-">parseValue(String)</a></span> - Method in class org.apache.guacamole.properties.<a href="org/apache/guacamole/properties/IntegerGuacamoleProperty.html" title="class in org.apache.guacamole.properties">IntegerGuacamoleProperty</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/properties/LongGuacamoleProperty.html#parseValue-java.lang.String-">parseValue(String)</a></span> - Method in class org.apache.guacamole.properties.<a href="org/apache/guacamole/properties/LongGuacamoleProperty.html" title="class in org.apache.guacamole.properties">LongGuacamoleProperty</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/properties/StringGuacamoleProperty.html#parseValue-java.lang.String-">parseValue(String)</a></span> - Method in class org.apache.guacamole.properties.<a href="org/apache/guacamole/properties/StringGuacamoleProperty.html" title="class in org.apache.guacamole.properties">StringGuacamoleProperty</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#PASSWORD">PASSWORD</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>
<div class="block">A password field, whose value is sensitive and must be hidden.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/CredentialsInfo.html#PASSWORD">PASSWORD</a></span> - Static variable in class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/CredentialsInfo.html" title="class in org.apache.guacamole.net.auth.credentials">CredentialsInfo</a></dt>
<dd>
<div class="block">A field describing the password HTTP parameter expected by Guacamole
 during login, if passwords are being used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/StandardTokens.html#PASSWORD_TOKEN">PASSWORD_TOKEN</a></span> - Static variable in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/StandardTokens.html" title="class in org.apache.guacamole.token">StandardTokens</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The name of the password token added via addStandardTokens().</div>
</dd>
<dt><a href="org/apache/guacamole/form/PasswordField.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">PasswordField</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Represents a field which contains sensitive text information related to
 authenticating a user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/PasswordField.html#PasswordField-java.lang.String-">PasswordField(String)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/PasswordField.html" title="class in org.apache.guacamole.form">PasswordField</a></dt>
<dd>
<div class="block">Creates a new PasswordField with the given name.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/permission/Permission.html" title="interface in org.apache.guacamole.net.auth.permission"><span class="typeNameLink">Permission</span></a>&lt;<a href="org/apache/guacamole/net/auth/permission/Permission.html" title="type parameter in Permission">Type</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&gt; - Interface in <a href="org/apache/guacamole/net/auth/permission/package-summary.html">org.apache.guacamole.net.auth.permission</a></dt>
<dd>
<div class="block">A permission which affects a specific type of operation, where all available
 operation types are defined by an enumeration.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/Permissions.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">Permissions</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">An object which may be granted permissions to access/manipulate various
 other objects or aspects of the system.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/permission/PermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission"><span class="typeNameLink">PermissionSet</span></a>&lt;<a href="org/apache/guacamole/net/auth/permission/PermissionSet.html" title="type parameter in PermissionSet">PermissionType</a> extends <a href="org/apache/guacamole/net/auth/permission/Permission.html" title="interface in org.apache.guacamole.net.auth.permission">Permission</a>&gt; - Interface in <a href="org/apache/guacamole/net/auth/permission/package-summary.html">org.apache.guacamole.net.auth.permission</a></dt>
<dd>
<div class="block">An arbitrary set of permissions.</div>
</dd>
<dt><a href="org/apache/guacamole/protocols/ProtocolInfo.html" title="class in org.apache.guacamole.protocols"><span class="typeNameLink">ProtocolInfo</span></a> - Class in <a href="org/apache/guacamole/protocols/package-summary.html">org.apache.guacamole.protocols</a></dt>
<dd>
<div class="block">Describes a protocol and all parameters associated with it, as required by
 a protocol plugin for guacd.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/protocols/ProtocolInfo.html#ProtocolInfo-java.lang.String-java.util.Collection-java.util.Collection-">ProtocolInfo(String, Collection&lt;Form&gt;, Collection&lt;Form&gt;)</a></span> - Constructor for class org.apache.guacamole.protocols.<a href="org/apache/guacamole/protocols/ProtocolInfo.html" title="class in org.apache.guacamole.protocols">ProtocolInfo</a></dt>
<dd>
<div class="block">Creates a new ProtocolInfo having the given name and forms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/protocols/ProtocolInfo.html#ProtocolInfo--">ProtocolInfo()</a></span> - Constructor for class org.apache.guacamole.protocols.<a href="org/apache/guacamole/protocols/ProtocolInfo.html" title="class in org.apache.guacamole.protocols">ProtocolInfo</a></dt>
<dd>
<div class="block">Creates a new ProtocolInfo with no associated name or forms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/protocols/ProtocolInfo.html#ProtocolInfo-java.lang.String-">ProtocolInfo(String)</a></span> - Constructor for class org.apache.guacamole.protocols.<a href="org/apache/guacamole/protocols/ProtocolInfo.html" title="class in org.apache.guacamole.protocols">ProtocolInfo</a></dt>
<dd>
<div class="block">Creates a new ProtocolInfo having the given name, but without any forms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/protocols/ProtocolInfo.html#ProtocolInfo-java.lang.String-java.util.Collection-">ProtocolInfo(String, Collection&lt;Form&gt;)</a></span> - Constructor for class org.apache.guacamole.protocols.<a href="org/apache/guacamole/protocols/ProtocolInfo.html" title="class in org.apache.guacamole.protocols">ProtocolInfo</a></dt>
<dd>
<div class="block">Creates a new ProtocolInfo having the given name and forms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionDirectory.html#putConnection-org.apache.guacamole.net.auth.Connection-">putConnection(Connection)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionDirectory</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">An internal method for modifying the Connections in this Directory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroupDirectory.html#putConnectionGroup-org.apache.guacamole.net.auth.ConnectionGroup-">putConnectionGroup(ConnectionGroup)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroupDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionGroupDirectory</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">An internal method for modifying the ConnectionGroups in this Directory.</div>
</dd>
</dl>
<a name="I:Q">
<!--   -->
</a>
<h2 class="title">Q</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#QUERY_PARAMETER">QUERY_PARAMETER</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>
<div class="block">An HTTP query parameter which is expected to be embedded in the URL
 given to a user.</div>
</dd>
</dl>
<a name="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html#redecorate-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">redecorate(UserContext, UserContext, AuthenticatedUser, Credentials)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth">AbstractAuthenticationProvider</a></dt>
<dd>
<div class="block">Given a UserContext returned by updateUserContext() of a different
 AuthenticationProvider, returns a UserContext instance which decorates
 (wraps) that UserContext, delegating and overriding implemented
 functions as necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AuthenticationProvider.html#redecorate-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">redecorate(UserContext, UserContext, AuthenticatedUser, Credentials)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AuthenticationProvider.html" title="interface in org.apache.guacamole.net.auth">AuthenticationProvider</a></dt>
<dd>
<div class="block">Given a UserContext returned by updateUserContext() of a different
 AuthenticationProvider, returns a UserContext instance which decorates
 (wraps) that UserContext, delegating and overriding implemented
 functions as necessary.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/RelatedObjectSet.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">RelatedObjectSet</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">An arbitrary set of existing objects sharing some common relation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingDirectory.html#remove-java.lang.String-">remove(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingDirectory.html" title="class in org.apache.guacamole.net.auth">DelegatingDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Directory.html#remove-java.lang.String-">remove(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Directory.html" title="interface in org.apache.guacamole.net.auth">Directory</a></dt>
<dd>
<div class="block">Removes the object with the given identifier from the overall set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html#remove-java.lang.String-">remove(String)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionDirectory.html#removeConnection-java.lang.String-">removeConnection(String)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionDirectory</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">An internal method for removing a Connection from this Directory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroupDirectory.html#removeConnectionGroup-java.lang.String-">removeConnectionGroup(String)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroupDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionGroupDirectory</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">An internal method for removing a ConnectionGroup from this Directory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/RelatedObjectSet.html#removeObjects-java.util.Set-">removeObjects(Set&lt;String&gt;)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/RelatedObjectSet.html" title="interface in org.apache.guacamole.net.auth">RelatedObjectSet</a></dt>
<dd>
<div class="block">Removes each of the objects having the specified identifiers, if
 present.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleRelatedObjectSet.html#removeObjects-java.util.Set-">removeObjects(Set&lt;String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleRelatedObjectSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleRelatedObjectSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html#removePermission-org.apache.guacamole.net.auth.permission.ObjectPermission.Type-java.lang.String-">removePermission(ObjectPermission.Type, String)</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">ObjectPermissionSet</a></dt>
<dd>
<div class="block">Removes the specified permission for the object having the given
 identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html#removePermission-org.apache.guacamole.net.auth.permission.SystemPermission.Type-">removePermission(SystemPermission.Type)</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">SystemPermissionSet</a></dt>
<dd>
<div class="block">Removes the specified permission.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html#removePermission-org.apache.guacamole.net.auth.permission.ObjectPermission.Type-java.lang.String-">removePermission(ObjectPermission.Type, String)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleObjectPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html#removePermission-org.apache.guacamole.net.auth.permission.SystemPermission.Type-">removePermission(SystemPermission.Type)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleSystemPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html#removePermissions-java.util.Set-">removePermissions(Set&lt;ObjectPermission&gt;)</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">ObjectPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/PermissionSet.html#removePermissions-java.util.Set-">removePermissions(Set&lt;PermissionType&gt;)</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/PermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">PermissionSet</a></dt>
<dd>
<div class="block">Removes each of the specified permissions, if granted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html#removePermissions-java.util.Set-">removePermissions(Set&lt;SystemPermission&gt;)</a></span> - Method in interface org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission">SystemPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html#removePermissions-java.util.Set-">removePermissions(Set&lt;ObjectPermission&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleObjectPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html#removePermissions-java.util.Set-">removePermissions(Set&lt;SystemPermission&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleSystemPermissionSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html#removeValue-java.lang.String-">removeValue(String)</a></span> - Method in class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html" title="class in org.apache.guacamole.net.auth.credentials">UserCredentials</a></dt>
<dd>
<div class="block">Removes (undefines) the value of the field having the given name,
 returning its previous value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html#removeValue-org.apache.guacamole.form.Field-">removeValue(Field)</a></span> - Method in class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html" title="class in org.apache.guacamole.net.auth.credentials">UserCredentials</a></dt>
<dd>
<div class="block">Removes (undefines) the value of the given field returning its previous
 value.</div>
</dd>
</dl>
<a name="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserContext.html#self--">self()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserContext.html" title="class in org.apache.guacamole.net.auth">DelegatingUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html#self--">self()</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUserContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/UserContext.html#self--">self()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth">UserContext</a></dt>
<dd>
<div class="block">Returns the User whose access rights control the operations of this
 UserContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#setAttributes-java.util.Map-">setAttributes(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>
<div class="block">Sets the given attributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUserGroup.html#setAttributes-java.util.Map-">setAttributes(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUserGroup.html" title="class in org.apache.guacamole.net.auth">AbstractUserGroup</a></dt>
<dd>
<div class="block">Sets the given attributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Attributes.html#setAttributes-java.util.Map-">setAttributes(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Attributes.html" title="interface in org.apache.guacamole.net.auth">Attributes</a></dt>
<dd>
<div class="block">Sets the given attributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#setAttributes-java.util.Map-">setAttributes(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#setAttributes-java.util.Map-">setAttributes(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html#setAttributes-java.util.Map-">setAttributes(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html" title="class in org.apache.guacamole.net.auth">DelegatingSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#setAttributes-java.util.Map-">setAttributes(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#setAttributes-java.util.Map-">setAttributes(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html#setAttributes-java.util.Map-">setAttributes(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html#setAttributes-java.util.Map-">setAttributes(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnection.html#setConfiguration-org.apache.guacamole.protocol.GuacamoleConfiguration-">setConfiguration(GuacamoleConfiguration)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnection.html" title="class in org.apache.guacamole.net.auth">AbstractConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Connection.html#setConfiguration-org.apache.guacamole.protocol.GuacamoleConfiguration-">setConfiguration(GuacamoleConfiguration)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Connection.html" title="interface in org.apache.guacamole.net.auth">Connection</a></dt>
<dd>
<div class="block">Sets the GuacamoleConfiguration associated with this Connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#setConfiguration-org.apache.guacamole.protocol.GuacamoleConfiguration-">setConfiguration(GuacamoleConfiguration)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html#setConfiguration-org.apache.guacamole.protocol.GuacamoleConfiguration-">setConfiguration(GuacamoleConfiguration)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/protocols/ProtocolInfo.html#setConnectionForms-java.util.Collection-">setConnectionForms(Collection&lt;Form&gt;)</a></span> - Method in class org.apache.guacamole.protocols.<a href="org/apache/guacamole/protocols/ProtocolInfo.html" title="class in org.apache.guacamole.protocols">ProtocolInfo</a></dt>
<dd>
<div class="block">Sets the collection of forms describing all known parameters for a
 connection using this protocol.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html#setConnectionIdentifier-java.lang.String-">setConnectionIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html" title="class in org.apache.guacamole.net.auth">AbstractActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#setConnectionIdentifier-java.lang.String-">setConnectionIdentifier(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>
<div class="block">Sets the identifier of the connection being actively used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Form.html#setFields-java.util.Collection-">setFields(Collection&lt;Field&gt;)</a></span> - Method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Form.html" title="class in org.apache.guacamole.form">Form</a></dt>
<dd>
<div class="block">Sets the collection of fields associated with this form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractIdentifiable.html#setIdentifier-java.lang.String-">setIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractIdentifiable.html" title="class in org.apache.guacamole.net.auth">AbstractIdentifiable</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html#setIdentifier-java.lang.String-">setIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html" title="class in org.apache.guacamole.net.auth">AbstractSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#setIdentifier-java.lang.String-">setIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#setIdentifier-java.lang.String-">setIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html#setIdentifier-java.lang.String-">setIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html" title="class in org.apache.guacamole.net.auth">DelegatingSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#setIdentifier-java.lang.String-">setIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html#setIdentifier-java.lang.String-">setIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUserGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingUserGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Identifiable.html#setIdentifier-java.lang.String-">setIdentifier(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Identifiable.html" title="interface in org.apache.guacamole.net.auth">Identifiable</a></dt>
<dd>
<div class="block">Sets the identifier assigned to this object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.html#setName-java.lang.String-">setName(String)</a></span> - Method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.html" title="class in org.apache.guacamole.form">Field</a></dt>
<dd>
<div class="block">Sets the unique name associated with this field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Form.html#setName-java.lang.String-">setName(String)</a></span> - Method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Form.html" title="class in org.apache.guacamole.form">Form</a></dt>
<dd>
<div class="block">Sets the name of this form.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnection.html#setName-java.lang.String-">setName(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnection.html" title="class in org.apache.guacamole.net.auth">AbstractConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html#setName-java.lang.String-">setName(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html" title="class in org.apache.guacamole.net.auth">AbstractConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html#setName-java.lang.String-">setName(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html" title="class in org.apache.guacamole.net.auth">AbstractSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Connection.html#setName-java.lang.String-">setName(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Connection.html" title="interface in org.apache.guacamole.net.auth">Connection</a></dt>
<dd>
<div class="block">Sets the name assigned to this Connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ConnectionGroup.html#setName-java.lang.String-">setName(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ConnectionGroup.html" title="interface in org.apache.guacamole.net.auth">ConnectionGroup</a></dt>
<dd>
<div class="block">Sets the name assigned to this ConnectionGroup.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#setName-java.lang.String-">setName(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#setName-java.lang.String-">setName(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html#setName-java.lang.String-">setName(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html" title="class in org.apache.guacamole.net.auth">DelegatingSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/SharingProfile.html#setName-java.lang.String-">setName(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/SharingProfile.html" title="interface in org.apache.guacamole.net.auth">SharingProfile</a></dt>
<dd>
<div class="block">Sets the human-readable name assigned to this SharingProfile.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/protocols/ProtocolInfo.html#setName-java.lang.String-">setName(String)</a></span> - Method in class org.apache.guacamole.protocols.<a href="org/apache/guacamole/protocols/ProtocolInfo.html" title="class in org.apache.guacamole.protocols">ProtocolInfo</a></dt>
<dd>
<div class="block">Sets the unique name of this protocol.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html#setObjects-java.util.Map-">setObjects(Map&lt;String, ObjectType&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleDirectory</a></dt>
<dd>
<div class="block">Sets the Map which backs this SimpleDirectory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleRelatedObjectSet.html#setObjects-java.util.Set-">setObjects(Set&lt;String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleRelatedObjectSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleRelatedObjectSet</a></dt>
<dd>
<div class="block">Replaces the Set of object identifiers which backs this
 SimpleRelatedObjectSet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.html#setOptions-java.util.Collection-">setOptions(Collection&lt;String&gt;)</a></span> - Method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.html" title="class in org.apache.guacamole.form">Field</a></dt>
<dd>
<div class="block">Sets the options available as possible values of this field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html#setParameters-java.util.Map-">setParameters(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html" title="class in org.apache.guacamole.net.auth">AbstractSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html#setParameters-java.util.Map-">setParameters(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html" title="class in org.apache.guacamole.net.auth">DelegatingSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/SharingProfile.html#setParameters-java.util.Map-">setParameters(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/SharingProfile.html" title="interface in org.apache.guacamole.net.auth">SharingProfile</a></dt>
<dd>
<div class="block">Replaces all current parameters with the parameters defined within the
 given map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnection.html#setParentIdentifier-java.lang.String-">setParentIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnection.html" title="class in org.apache.guacamole.net.auth">AbstractConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html#setParentIdentifier-java.lang.String-">setParentIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html" title="class in org.apache.guacamole.net.auth">AbstractConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Connection.html#setParentIdentifier-java.lang.String-">setParentIdentifier(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Connection.html" title="interface in org.apache.guacamole.net.auth">Connection</a></dt>
<dd>
<div class="block">Sets the unique identifier of the parent ConnectionGroup for
 this Connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ConnectionGroup.html#setParentIdentifier-java.lang.String-">setParentIdentifier(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ConnectionGroup.html" title="interface in org.apache.guacamole.net.auth">ConnectionGroup</a></dt>
<dd>
<div class="block">Sets the unique identifier of the parent ConnectionGroup for
 this ConnectionGroup.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnection.html#setParentIdentifier-java.lang.String-">setParentIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnection.html" title="class in org.apache.guacamole.net.auth">DelegatingConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#setParentIdentifier-java.lang.String-">setParentIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractUser.html#setPassword-java.lang.String-">setPassword(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractUser.html" title="class in org.apache.guacamole.net.auth">AbstractUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Credentials.html#setPassword-java.lang.String-">setPassword(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a></dt>
<dd>
<div class="block">Sets the password associated with this set of credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingUser.html#setPassword-java.lang.String-">setPassword(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingUser.html" title="class in org.apache.guacamole.net.auth">DelegatingUser</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/User.html#setPassword-java.lang.String-">setPassword(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/User.html" title="interface in org.apache.guacamole.net.auth">User</a></dt>
<dd>
<div class="block">Sets this user's password.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html#setPermissions-java.util.Set-">setPermissions(Set&lt;ObjectPermission&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleObjectPermissionSet</a></dt>
<dd>
<div class="block">Sets the Set which backs this SimpleObjectPermissionSet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html#setPermissions-java.util.Set-">setPermissions(Set&lt;SystemPermission&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleSystemPermissionSet</a></dt>
<dd>
<div class="block">Sets the Set which backs this SimpleSystemPermissionSet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html#setPrimaryConnectionIdentifier-java.lang.String-">setPrimaryConnectionIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractSharingProfile.html" title="class in org.apache.guacamole.net.auth">AbstractSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html#setPrimaryConnectionIdentifier-java.lang.String-">setPrimaryConnectionIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingSharingProfile.html" title="class in org.apache.guacamole.net.auth">DelegatingSharingProfile</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/SharingProfile.html#setPrimaryConnectionIdentifier-java.lang.String-">setPrimaryConnectionIdentifier(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/SharingProfile.html" title="interface in org.apache.guacamole.net.auth">SharingProfile</a></dt>
<dd>
<div class="block">Sets the identifier of the primary connection associated with this
 connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Credentials.html#setRemoteAddress-java.lang.String-">setRemoteAddress(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a></dt>
<dd>
<div class="block">Sets the address of the client end of the connection which provided
 these credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html#setRemoteHost-java.lang.String-">setRemoteHost(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html" title="class in org.apache.guacamole.net.auth">AbstractActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#setRemoteHost-java.lang.String-">setRemoteHost(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>
<div class="block">Sets the hostname or IP address of the remote host that initiated the
 connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Credentials.html#setRemoteHostname-java.lang.String-">setRemoteHostname(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a></dt>
<dd>
<div class="block">Sets the hostname of the client end of the connection which provided
 these credentials, if known.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Credentials.html#setRequest-javax.servlet.http.HttpServletRequest-">setRequest(HttpServletRequest)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a></dt>
<dd>
<div class="block">Sets the HttpServletRequest associated with this set of credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Credentials.html#setSession-javax.servlet.http.HttpSession-">setSession(HttpSession)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a></dt>
<dd>
<div class="block">Sets the HttpSession associated with this set of credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/protocols/ProtocolInfo.html#setSharingProfileForms-java.util.Collection-">setSharingProfileForms(Collection&lt;Form&gt;)</a></span> - Method in class org.apache.guacamole.protocols.<a href="org/apache/guacamole/protocols/ProtocolInfo.html" title="class in org.apache.guacamole.protocols">ProtocolInfo</a></dt>
<dd>
<div class="block">Sets the collection of forms describing all known parameters relevant to
 a sharing profile whose primary connection uses this protocol.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html#setSharingProfileIdentifier-java.lang.String-">setSharingProfileIdentifier(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html" title="class in org.apache.guacamole.net.auth">AbstractActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#setSharingProfileIdentifier-java.lang.String-">setSharingProfileIdentifier(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>
<div class="block">Sets the identifier of the sharing profile being actively used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html#setStartDate-java.util.Date-">setStartDate(Date)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html" title="class in org.apache.guacamole.net.auth">AbstractActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#setStartDate-java.util.Date-">setStartDate(Date)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>
<div class="block">Sets the date and time the connection began.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/FieldOption.html#setTitle-java.lang.String-">setTitle(String)</a></span> - Method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/FieldOption.html" title="class in org.apache.guacamole.form">FieldOption</a></dt>
<dd>
<div class="block">Sets the human-readable title describing the effect of this option.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/TokenFilter.html#setToken-java.lang.String-java.lang.String-">setToken(String, String)</a></span> - Method in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/TokenFilter.html" title="class in org.apache.guacamole.token">TokenFilter</a></dt>
<dd>
<div class="block">Sets the token having the given name to the given value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/TokenFilter.html#setTokens-java.util.Map-">setTokens(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/TokenFilter.html" title="class in org.apache.guacamole.token">TokenFilter</a></dt>
<dd>
<div class="block">Replaces all current token values with the contents of the given map,
 where each map key represents a token name, and each map value
 represents a token value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html#setTunnel-org.apache.guacamole.net.GuacamoleTunnel-">setTunnel(GuacamoleTunnel)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html" title="class in org.apache.guacamole.net.auth">AbstractActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#setTunnel-org.apache.guacamole.net.GuacamoleTunnel-">setTunnel(GuacamoleTunnel)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>
<div class="block">Sets the connected GuacamoleTunnel being used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.html#setType-java.lang.String-">setType(String)</a></span> - Method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.html" title="class in org.apache.guacamole.form">Field</a></dt>
<dd>
<div class="block">Sets the type of this field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html#setType-org.apache.guacamole.net.auth.ConnectionGroup.Type-">setType(ConnectionGroup.Type)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractConnectionGroup.html" title="class in org.apache.guacamole.net.auth">AbstractConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ConnectionGroup.html#setType-org.apache.guacamole.net.auth.ConnectionGroup.Type-">setType(ConnectionGroup.Type)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ConnectionGroup.html" title="interface in org.apache.guacamole.net.auth">ConnectionGroup</a></dt>
<dd>
<div class="block">Set the type of this ConnectionGroup.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html#setType-org.apache.guacamole.net.auth.ConnectionGroup.Type-">setType(ConnectionGroup.Type)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">DelegatingConnectionGroup</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html#setUsername-java.lang.String-">setUsername(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractActiveConnection.html" title="class in org.apache.guacamole.net.auth">AbstractActiveConnection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActiveConnection.html#setUsername-java.lang.String-">setUsername(String)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActiveConnection.html" title="interface in org.apache.guacamole.net.auth">ActiveConnection</a></dt>
<dd>
<div class="block">Sets the name of the user who is using this connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Credentials.html#setUsername-java.lang.String-">setUsername(String)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Credentials.html" title="class in org.apache.guacamole.net.auth">Credentials</a></dt>
<dd>
<div class="block">Sets the username associated with this set of credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/FieldOption.html#setValue-java.lang.String-">setValue(String)</a></span> - Method in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/FieldOption.html" title="class in org.apache.guacamole.form">FieldOption</a></dt>
<dd>
<div class="block">Sets the value that will be assigned if this option is chosen.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html#setValue-java.lang.String-java.lang.String-">setValue(String, String)</a></span> - Method in class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html" title="class in org.apache.guacamole.net.auth.credentials">UserCredentials</a></dt>
<dd>
<div class="block">Sets the value of the field having the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html#setValue-org.apache.guacamole.form.Field-java.lang.String-">setValue(Field, String)</a></span> - Method in class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html" title="class in org.apache.guacamole.net.auth.credentials">UserCredentials</a></dt>
<dd>
<div class="block">Sets the value of the given field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html#setValues-java.util.Map-">setValues(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html" title="class in org.apache.guacamole.net.auth.credentials">UserCredentials</a></dt>
<dd>
<div class="block">Replaces the map backing this UserCredentials object with the given map.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/Shareable.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">Shareable</span></a>&lt;<a href="org/apache/guacamole/net/auth/Shareable.html" title="type parameter in Shareable">T</a>&gt; - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">An object which can be shared with others via specially-generated sets of
 credentials.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/SharingProfile.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">SharingProfile</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Represents the semantics which apply to an existing connection when shared,
 along with a human-readable name and unique identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html#shutdown--">shutdown()</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth">AbstractAuthenticationProvider</a></dt>
<dd>
<div class="block">Frees all resources associated with this AuthenticationProvider.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AuthenticationProvider.html#shutdown--">shutdown()</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AuthenticationProvider.html" title="interface in org.apache.guacamole.net.auth">AuthenticationProvider</a></dt>
<dd>
<div class="block">Frees all resources associated with this AuthenticationProvider.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleActivityRecordSet</span></a>&lt;<a href="org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.html" title="type parameter in SimpleActivityRecordSet">RecordType</a> extends <a href="org/apache/guacamole/net/auth/ActivityRecord.html" title="interface in org.apache.guacamole.net.auth">ActivityRecord</a>&gt; - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block">An immutable and empty ActivityRecordSet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.html#SimpleActivityRecordSet--">SimpleActivityRecordSet()</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleActivityRecordSet</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleAuthenticationProvider</span></a> - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block">Provides means of retrieving a set of named GuacamoleConfigurations for a
 given Credentials object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.html#SimpleAuthenticationProvider--">SimpleAuthenticationProvider()</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth.simple">SimpleAuthenticationProvider</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleConnection</span></a> - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block">A Connection implementation which establishes the underlying connection to
 guacd using the configuration information provided in guacamole.properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html#SimpleConnection--">SimpleConnection()</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnection</a></dt>
<dd>
<div class="block">Creates a completely uninitialized SimpleConnection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html#SimpleConnection-boolean-">SimpleConnection(boolean)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnection</a></dt>
<dd>
<div class="block">Creates a completely uninitialized SimpleConnection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html#SimpleConnection-java.lang.String-java.lang.String-org.apache.guacamole.protocol.GuacamoleConfiguration-">SimpleConnection(String, String, GuacamoleConfiguration)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnection</a></dt>
<dd>
<div class="block">Creates a new SimpleConnection having the given identifier and
 GuacamoleConfiguration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html#SimpleConnection-java.lang.String-java.lang.String-org.apache.guacamole.protocol.GuacamoleConfiguration-boolean-">SimpleConnection(String, String, GuacamoleConfiguration, boolean)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnection.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnection</a></dt>
<dd>
<div class="block">Creates a new SimpleConnection having the given identifier and
 GuacamoleConfiguration.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionDirectory.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleConnectionDirectory</span></a> - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple"><code>SimpleDirectory</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionDirectory.html#SimpleConnectionDirectory-java.util.Collection-">SimpleConnectionDirectory(Collection&lt;Connection&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionDirectory</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a new SimpleConnectionDirectory which provides access to the
 connections contained within the given Map.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleConnectionGroup</span></a> - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block">An extremely simple read-only implementation of a ConnectionGroup which
 returns the connection and connection group identifiers it was constructed
 with.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html#SimpleConnectionGroup-java.lang.String-java.lang.String-java.util.Collection-java.util.Collection-">SimpleConnectionGroup(String, String, Collection&lt;String&gt;, Collection&lt;String&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroup.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionGroup</a></dt>
<dd>
<div class="block">Creates a new SimpleConnectionGroup having the given name and identifier
 which will expose the given contents.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroupDirectory.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleConnectionGroupDirectory</span></a> - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple"><code>SimpleDirectory</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroupDirectory.html#SimpleConnectionGroupDirectory-java.util.Collection-">SimpleConnectionGroupDirectory(Collection&lt;ConnectionGroup&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionGroupDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionGroupDirectory</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a new SimpleConnectionGroupDirectory which contains the given
 groups.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleConnectionRecordSet</span></a> - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.html" title="class in org.apache.guacamole.net.auth.simple"><code>SimpleActivityRecordSet</code></a>&lt;<a href="org/apache/guacamole/net/auth/ConnectionRecord.html" title="interface in org.apache.guacamole.net.auth"><code>ConnectionRecord</code></a>&gt;
     instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.html#SimpleConnectionRecordSet--">SimpleConnectionRecordSet()</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionRecordSet</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleDirectory</span></a>&lt;<a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="type parameter in SimpleDirectory">ObjectType</a> extends <a href="org/apache/guacamole/net/auth/Identifiable.html" title="interface in org.apache.guacamole.net.auth">Identifiable</a>&gt; - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block">An extremely simple read-only implementation of a Directory which provides
 access to a pre-defined Map of arbitrary objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html#SimpleDirectory--">SimpleDirectory()</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleDirectory</a></dt>
<dd>
<div class="block">Creates a new empty SimpleDirectory which does not provide access to
 any objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html#SimpleDirectory-java.util.Map-">SimpleDirectory(Map&lt;String, ObjectType&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleDirectory</a></dt>
<dd>
<div class="block">Creates a new SimpleDirectory which provides access to the objects
 contained within the given Map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html#SimpleDirectory-ObjectType-">SimpleDirectory(ObjectType)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleDirectory</a></dt>
<dd>
<div class="block">Creates a new SimpleDirectory which provides access to the given object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html#SimpleDirectory-ObjectType...-">SimpleDirectory(ObjectType...)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleDirectory</a></dt>
<dd>
<div class="block">Creates a new SimpleDirectory which provides access to the given
 objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html#SimpleDirectory-java.util.Collection-">SimpleDirectory(Collection&lt;ObjectType&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleDirectory</a></dt>
<dd>
<div class="block">Creates a new SimpleDirectory which provides access to the
 objects contained within the Collection.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleObjectPermissionSet</span></a> - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block">A read-only implementation of ObjectPermissionSet which uses a backing Set
 of Permissions to determine which permissions are present.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html#SimpleObjectPermissionSet--">SimpleObjectPermissionSet()</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleObjectPermissionSet</a></dt>
<dd>
<div class="block">Creates a new empty SimpleObjectPermissionSet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html#SimpleObjectPermissionSet-java.util.Collection-java.util.Collection-">SimpleObjectPermissionSet(Collection&lt;String&gt;, Collection&lt;ObjectPermission.Type&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleObjectPermissionSet</a></dt>
<dd>
<div class="block">Creates a new SimpleObjectPermissionSet which contains permissions for
 all possible unique combinations of the given identifiers and permission
 types.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html#SimpleObjectPermissionSet-java.util.Collection-">SimpleObjectPermissionSet(Collection&lt;String&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleObjectPermissionSet</a></dt>
<dd>
<div class="block">Creates a new SimpleObjectPermissionSet which contains only READ
 permissions for each of the given identifiers.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html#SimpleObjectPermissionSet-java.util.Set-">SimpleObjectPermissionSet(Set&lt;ObjectPermission&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleObjectPermissionSet</a></dt>
<dd>
<div class="block">Creates a new SimpleObjectPermissionSet which contains the permissions
 within the given Set.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleRelatedObjectSet.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleRelatedObjectSet</span></a> - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block">A read-only implementation of RelatedObjectSet which uses a backing Set
 of identifiers to determine which objects are present.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleRelatedObjectSet.html#SimpleRelatedObjectSet--">SimpleRelatedObjectSet()</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleRelatedObjectSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleRelatedObjectSet</a></dt>
<dd>
<div class="block">Creates a new empty SimpleRelatedObjectSet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleRelatedObjectSet.html#SimpleRelatedObjectSet-java.util.Set-">SimpleRelatedObjectSet(Set&lt;String&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleRelatedObjectSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleRelatedObjectSet</a></dt>
<dd>
<div class="block">Creates a new SimpleRelatedObjectSet which contains the objects having
 the identifiers within the given Set.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleSystemPermissionSet</span></a> - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block">A read-only implementation of SystemPermissionSet which uses a backing Set
 of Permissions to determine which permissions are present.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html#SimpleSystemPermissionSet--">SimpleSystemPermissionSet()</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleSystemPermissionSet</a></dt>
<dd>
<div class="block">Creates a new empty SimpleSystemPermissionSet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html#SimpleSystemPermissionSet-java.util.Set-">SimpleSystemPermissionSet(Set&lt;SystemPermission&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleSystemPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleSystemPermissionSet</a></dt>
<dd>
<div class="block">Creates a new SimpleSystemPermissionSet which contains the permissions
 within the given Set.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleUser.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleUser</span></a> - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block">A read-only User implementation which has no permissions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUser.html#SimpleUser--">SimpleUser()</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUser.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUser</a></dt>
<dd>
<div class="block">Creates a completely uninitialized SimpleUser.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUser.html#SimpleUser-java.lang.String-">SimpleUser(String)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUser.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUser</a></dt>
<dd>
<div class="block">Creates a new SimpleUser having the given username.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUser.html#SimpleUser-java.lang.String-java.util.Collection-java.util.Collection-">SimpleUser(String, Collection&lt;String&gt;, Collection&lt;String&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUser.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUser</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Extend and override the applicable permission set getters instead,
     relying on SimpleUser to expose no permissions by default for all
     permission sets that aren't overridden. See <a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple"><code>SimpleObjectPermissionSet</code></a>
     for convenient methods of providing a read-only permission set with
     specific permissions.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUser.html#SimpleUser-java.lang.String-java.util.Collection-java.util.Collection-java.util.Collection-">SimpleUser(String, Collection&lt;String&gt;, Collection&lt;String&gt;, Collection&lt;String&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUser.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUser</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Extend and override the applicable permission set getters instead,
     relying on SimpleUser to expose no permissions by default for all
     permission sets that aren't overridden. See <a href="org/apache/guacamole/net/auth/simple/SimpleObjectPermissionSet.html" title="class in org.apache.guacamole.net.auth.simple"><code>SimpleObjectPermissionSet</code></a>
     for convenient methods of providing a read-only permission set with
     specific permissions.</span></div>
</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleUserContext</span></a> - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block">An extremely simple UserContext implementation which provides access to
 a defined and restricted set of GuacamoleConfigurations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html#SimpleUserContext-org.apache.guacamole.net.auth.AuthenticationProvider-java.util.Map-">SimpleUserContext(AuthenticationProvider, Map&lt;String, GuacamoleConfiguration&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUserContext</a></dt>
<dd>
<div class="block">Creates a new SimpleUserContext which provides access to only those
 configurations within the given Map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html#SimpleUserContext-org.apache.guacamole.net.auth.AuthenticationProvider-java.lang.String-java.util.Map-">SimpleUserContext(AuthenticationProvider, String, Map&lt;String, GuacamoleConfiguration&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUserContext</a></dt>
<dd>
<div class="block">Creates a new SimpleUserContext for the user with the given username
 which provides access to only those configurations within the given Map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html#SimpleUserContext-org.apache.guacamole.net.auth.AuthenticationProvider-java.lang.String-java.util.Map-boolean-">SimpleUserContext(AuthenticationProvider, String, Map&lt;String, GuacamoleConfiguration&gt;, boolean)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUserContext.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUserContext</a></dt>
<dd>
<div class="block">Creates a new SimpleUserContext for the user with the given username
 which provides access to only those configurations within the given Map.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleUserDirectory.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleUserDirectory</span></a> - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple"><code>SimpleDirectory</code></a> instead.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUserDirectory.html#SimpleUserDirectory-org.apache.guacamole.net.auth.User-">SimpleUserDirectory(User)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUserDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUserDirectory</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a new SimpleUserDirectory which provides access to the single
 user provided.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/simple/SimpleUserGroup.html" title="class in org.apache.guacamole.net.auth.simple"><span class="typeNameLink">SimpleUserGroup</span></a> - Class in <a href="org/apache/guacamole/net/auth/simple/package-summary.html">org.apache.guacamole.net.auth.simple</a></dt>
<dd>
<div class="block">A read-only UserGroup implementation which has no members and no
 permissions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUserGroup.html#SimpleUserGroup--">SimpleUserGroup()</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUserGroup.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUserGroup</a></dt>
<dd>
<div class="block">Creates a completely uninitialized SimpleUserGroup.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleUserGroup.html#SimpleUserGroup-java.lang.String-">SimpleUserGroup(String)</a></span> - Constructor for class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleUserGroup.html" title="class in org.apache.guacamole.net.auth.simple">SimpleUserGroup</a></dt>
<dd>
<div class="block">Creates a new SimpleUserGroup having the given identifier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActivityRecordSet.html#sort-org.apache.guacamole.net.auth.ActivityRecordSet.SortableProperty-boolean-">sort(ActivityRecordSet.SortableProperty, boolean)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActivityRecordSet.html" title="interface in org.apache.guacamole.net.auth">ActivityRecordSet</a></dt>
<dd>
<div class="block">Returns a ActivityRecordSet containing identically the records within
 this set, sorted according to the specified criteria.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.html#sort-org.apache.guacamole.net.auth.ActivityRecordSet.SortableProperty-boolean-">sort(ActivityRecordSet.SortableProperty, boolean)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleActivityRecordSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleActivityRecordSet</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.html#sort-org.apache.guacamole.net.auth.ActivityRecordSet.SortableProperty-boolean-">sort(ActivityRecordSet.SortableProperty, boolean)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleConnectionRecordSet.html" title="class in org.apache.guacamole.net.auth.simple">SimpleConnectionRecordSet</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/guacamole/token/StandardTokens.html" title="class in org.apache.guacamole.token"><span class="typeNameLink">StandardTokens</span></a> - Class in <a href="org/apache/guacamole/token/package-summary.html">org.apache.guacamole.token</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Standard tokens are now supplied by default to the connect()
 functions of connections and connection groups. Manually generating the
 standard tokens is not necessary.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/xml/DocumentHandler.html#startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-">startElement(String, String, String, Attributes)</a></span> - Method in class org.apache.guacamole.xml.<a href="org/apache/guacamole/xml/DocumentHandler.html" title="class in org.apache.guacamole.xml">DocumentHandler</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/properties/StringGuacamoleProperty.html" title="class in org.apache.guacamole.properties"><span class="typeNameLink">StringGuacamoleProperty</span></a> - Class in <a href="org/apache/guacamole/properties/package-summary.html">org.apache.guacamole.properties</a></dt>
<dd>
<div class="block">A GuacamoleProperty whose value is a simple string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/properties/StringGuacamoleProperty.html#StringGuacamoleProperty--">StringGuacamoleProperty()</a></span> - Constructor for class org.apache.guacamole.properties.<a href="org/apache/guacamole/properties/StringGuacamoleProperty.html" title="class in org.apache.guacamole.properties">StringGuacamoleProperty</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/guacamole/net/auth/permission/SystemPermission.html" title="class in org.apache.guacamole.net.auth.permission"><span class="typeNameLink">SystemPermission</span></a> - Class in <a href="org/apache/guacamole/net/auth/permission/package-summary.html">org.apache.guacamole.net.auth.permission</a></dt>
<dd>
<div class="block">A permission which affects the system as a whole, rather than an individual
 object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/SystemPermission.html#SystemPermission-org.apache.guacamole.net.auth.permission.SystemPermission.Type-">SystemPermission(SystemPermission.Type)</a></span> - Constructor for class org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/SystemPermission.html" title="class in org.apache.guacamole.net.auth.permission">SystemPermission</a></dt>
<dd>
<div class="block">Creates a new SystemPermission with the given
 type.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/permission/SystemPermission.Type.html" title="enum in org.apache.guacamole.net.auth.permission"><span class="typeNameLink">SystemPermission.Type</span></a> - Enum in <a href="org/apache/guacamole/net/auth/permission/package-summary.html">org.apache.guacamole.net.auth.permission</a></dt>
<dd>
<div class="block">Specific types of system-level permissions.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/permission/SystemPermissionSet.html" title="interface in org.apache.guacamole.net.auth.permission"><span class="typeNameLink">SystemPermissionSet</span></a> - Interface in <a href="org/apache/guacamole/net/auth/permission/package-summary.html">org.apache.guacamole.net.auth.permission</a></dt>
<dd>
<div class="block">A set of permissions which affects the system as a whole.</div>
</dd>
</dl>
<a name="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><a href="org/apache/guacamole/xml/TagHandler.html" title="interface in org.apache.guacamole.xml"><span class="typeNameLink">TagHandler</span></a> - Interface in <a href="org/apache/guacamole/xml/package-summary.html">org.apache.guacamole.xml</a></dt>
<dd>
<div class="block">A simple element-level event handler for events triggered by the
 SAX-driven DocumentHandler parser.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#TERMINAL_COLOR_SCHEME">TERMINAL_COLOR_SCHEME</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>
<div class="block">A color scheme accepted by the Guacamole server terminal emulator
 and protocols which leverage it.</div>
</dd>
<dt><a href="org/apache/guacamole/form/TerminalColorSchemeField.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">TerminalColorSchemeField</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Represents a terminal color scheme field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/TerminalColorSchemeField.html#TerminalColorSchemeField-java.lang.String-">TerminalColorSchemeField(String)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/TerminalColorSchemeField.html" title="class in org.apache.guacamole.form">TerminalColorSchemeField</a></dt>
<dd>
<div class="block">Creates a new TerminalColorSchemeField with the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#TEXT">TEXT</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>
<div class="block">A text field, accepting arbitrary values.</div>
</dd>
<dt><a href="org/apache/guacamole/form/TextField.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">TextField</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Represents a basic text field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/TextField.html#TextField-java.lang.String-">TextField(String)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/TextField.html" title="class in org.apache.guacamole.form">TextField</a></dt>
<dd>
<div class="block">Creates a new TextField with the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/TextField.html#TextField-java.lang.String-java.util.Collection-">TextField(String, Collection&lt;String&gt;)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/TextField.html" title="class in org.apache.guacamole.form">TextField</a></dt>
<dd>
<div class="block">Creates a new TextField with the given name and possible values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#TIME">TIME</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>
<div class="block">A time field whose legal values conform to the pattern "HH:MM:SS",
 zero-padded, 24-hour.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/StandardTokens.html#TIME_TOKEN">TIME_TOKEN</a></span> - Static variable in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/StandardTokens.html" title="class in org.apache.guacamole.token">StandardTokens</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The name of the time token (server-local time) added via
 addStandardTokens().</div>
</dd>
<dt><a href="org/apache/guacamole/form/TimeField.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">TimeField</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Represents a time field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/TimeField.html#TimeField-java.lang.String-">TimeField(String)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/TimeField.html" title="class in org.apache.guacamole.form">TimeField</a></dt>
<dd>
<div class="block">Creates a new TimeField with the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#TIMEZONE">TIMEZONE</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>
<div class="block">A time zone field whose legal values are only valid time zone IDs,
 as dictated by Java within TimeZone.getAvailableIDs().</div>
</dd>
<dt><a href="org/apache/guacamole/form/TimeZoneField.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">TimeZoneField</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Represents a time zone field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/TimeZoneField.html#TimeZoneField-java.lang.String-">TimeZoneField(String)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/TimeZoneField.html" title="class in org.apache.guacamole.form">TimeZoneField</a></dt>
<dd>
<div class="block">Creates a new TimeZoneField with the given name.</div>
</dd>
<dt><a href="org/apache/guacamole/token/TokenFilter.html" title="class in org.apache.guacamole.token"><span class="typeNameLink">TokenFilter</span></a> - Class in <a href="org/apache/guacamole/token/package-summary.html">org.apache.guacamole.token</a></dt>
<dd>
<div class="block">Filtering object which replaces tokens of the form "${TOKEN_NAME}" with
 their corresponding values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/TokenFilter.html#TokenFilter--">TokenFilter()</a></span> - Constructor for class org.apache.guacamole.token.<a href="org/apache/guacamole/token/TokenFilter.html" title="class in org.apache.guacamole.token">TokenFilter</a></dt>
<dd>
<div class="block">Creates a new TokenFilter which has no associated tokens.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/TokenFilter.html#TokenFilter-java.util.Map-">TokenFilter(Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.guacamole.token.<a href="org/apache/guacamole/token/TokenFilter.html" title="class in org.apache.guacamole.token">TokenFilter</a></dt>
<dd>
<div class="block">Creates a new TokenFilter which is initialized with the given token
 name/value pairs.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/TokenInjectingConnection.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">TokenInjectingConnection</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">Connection implementation which overrides the connect() function of an
 underlying Connection, adding a given set of parameter tokens to the tokens
 already supplied.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/TokenInjectingConnection.html#TokenInjectingConnection-org.apache.guacamole.net.auth.Connection-java.util.Map-">TokenInjectingConnection(Connection, Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/TokenInjectingConnection.html" title="class in org.apache.guacamole.net.auth">TokenInjectingConnection</a></dt>
<dd>
<div class="block">Wraps the given Connection, automatically adding the given tokens to
 each invocation of connect().</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/TokenInjectingConnectionGroup.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">TokenInjectingConnectionGroup</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">ConnectionGroup implementation which overrides the connect() function of an
 underlying ConnectionGroup, adding a given set of parameter tokens to the
 tokens already supplied.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/TokenInjectingConnectionGroup.html#TokenInjectingConnectionGroup-org.apache.guacamole.net.auth.ConnectionGroup-java.util.Map-">TokenInjectingConnectionGroup(ConnectionGroup, Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/TokenInjectingConnectionGroup.html" title="class in org.apache.guacamole.net.auth">TokenInjectingConnectionGroup</a></dt>
<dd>
<div class="block">Wraps the given ConnectionGroup, automatically adding the given tokens
 to each invocation of connect().</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/TokenInjectingUserContext.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">TokenInjectingUserContext</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">UserContext implementation which decorates a given UserContext,
 automatically applying additional parameter tokens during the connection
 process of any retrieved Connections and ConnectionGroups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/TokenInjectingUserContext.html#TokenInjectingUserContext-org.apache.guacamole.net.auth.UserContext-java.util.Map-">TokenInjectingUserContext(UserContext, Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/TokenInjectingUserContext.html" title="class in org.apache.guacamole.net.auth">TokenInjectingUserContext</a></dt>
<dd>
<div class="block">Wraps the given UserContext, overriding the connect() function of each
 retrieved Connection and ConnectionGroup such that the given additional
 parameter tokens are included.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/TokenInjectingUserContext.html#TokenInjectingUserContext-org.apache.guacamole.net.auth.UserContext-">TokenInjectingUserContext(UserContext)</a></span> - Constructor for class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/TokenInjectingUserContext.html" title="class in org.apache.guacamole.net.auth">TokenInjectingUserContext</a></dt>
<dd>
<div class="block">Wraps the given UserContext, overriding the connect() function of each
 retrieved Connection and ConnectionGroup such that the additional
 parameter tokens returned by getTokens() are included.</div>
</dd>
<dt><a href="org/apache/guacamole/token/TokenName.html" title="class in org.apache.guacamole.token"><span class="typeNameLink">TokenName</span></a> - Class in <a href="org/apache/guacamole/token/package-summary.html">org.apache.guacamole.token</a></dt>
<dd>
<div class="block">Utility class for generating parameter token names.</div>
</dd>
<dt><a href="org/apache/guacamole/language/Translatable.html" title="interface in org.apache.guacamole.language"><span class="typeNameLink">Translatable</span></a> - Interface in <a href="org/apache/guacamole/language/package-summary.html">org.apache.guacamole.language</a></dt>
<dd>
<div class="block">An object which is associated with a translatable message that can be passed
 through an arbitrary translation service, producing a human-readable message
 in the user's native language.</div>
</dd>
<dt><a href="org/apache/guacamole/language/TranslatableMessage.html" title="class in org.apache.guacamole.language"><span class="typeNameLink">TranslatableMessage</span></a> - Class in <a href="org/apache/guacamole/language/package-summary.html">org.apache.guacamole.language</a></dt>
<dd>
<div class="block">A message which can be translated using a translation service, providing a
 translation key and optional set of values to be substituted into the
 translation string associated with that key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/language/TranslatableMessage.html#TranslatableMessage-java.lang.String-">TranslatableMessage(String)</a></span> - Constructor for class org.apache.guacamole.language.<a href="org/apache/guacamole/language/TranslatableMessage.html" title="class in org.apache.guacamole.language">TranslatableMessage</a></dt>
<dd>
<div class="block">Creates a new TranslatableMessage associated with the given translation
 key, without any associated variables.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/language/TranslatableMessage.html#TranslatableMessage-java.lang.String-java.lang.Object-">TranslatableMessage(String, Object)</a></span> - Constructor for class org.apache.guacamole.language.<a href="org/apache/guacamole/language/TranslatableMessage.html" title="class in org.apache.guacamole.language">TranslatableMessage</a></dt>
<dd>
<div class="block">Creates a new TranslatableMessage associated with the given translation
 key and associated variables.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/listener/TunnelCloseListener.html#tunnelClosed-org.apache.guacamole.net.event.TunnelCloseEvent-">tunnelClosed(TunnelCloseEvent)</a></span> - Method in interface org.apache.guacamole.net.event.listener.<a href="org/apache/guacamole/net/event/listener/TunnelCloseListener.html" title="interface in org.apache.guacamole.net.event.listener">TunnelCloseListener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Event hook which fires immediately before an existing tunnel is closed.</div>
</dd>
<dt><a href="org/apache/guacamole/net/event/TunnelCloseEvent.html" title="class in org.apache.guacamole.net.event"><span class="typeNameLink">TunnelCloseEvent</span></a> - Class in <a href="org/apache/guacamole/net/event/package-summary.html">org.apache.guacamole.net.event</a></dt>
<dd>
<div class="block">An event which is triggered whenever a tunnel is being closed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/TunnelCloseEvent.html#TunnelCloseEvent-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-org.apache.guacamole.net.GuacamoleTunnel-">TunnelCloseEvent(AuthenticatedUser, Credentials, GuacamoleTunnel)</a></span> - Constructor for class org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/TunnelCloseEvent.html" title="class in org.apache.guacamole.net.event">TunnelCloseEvent</a></dt>
<dd>
<div class="block">Creates a new TunnelCloseEvent which represents the closing of the
 given tunnel via a request associated with the given credentials.</div>
</dd>
<dt><a href="org/apache/guacamole/net/event/listener/TunnelCloseListener.html" title="interface in org.apache.guacamole.net.event.listener"><span class="typeNameLink">TunnelCloseListener</span></a> - Interface in <a href="org/apache/guacamole/net/event/listener/package-summary.html">org.apache.guacamole.net.event.listener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Listeners should instead implement the <a href="org/apache/guacamole/net/event/listener/Listener.html" title="interface in org.apache.guacamole.net.event.listener"><code>Listener</code></a> interface.</span></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/listener/TunnelConnectListener.html#tunnelConnected-org.apache.guacamole.net.event.TunnelConnectEvent-">tunnelConnected(TunnelConnectEvent)</a></span> - Method in interface org.apache.guacamole.net.event.listener.<a href="org/apache/guacamole/net/event/listener/TunnelConnectListener.html" title="interface in org.apache.guacamole.net.event.listener">TunnelConnectListener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Event hook which fires immediately after a new tunnel is connected.</div>
</dd>
<dt><a href="org/apache/guacamole/net/event/TunnelConnectEvent.html" title="class in org.apache.guacamole.net.event"><span class="typeNameLink">TunnelConnectEvent</span></a> - Class in <a href="org/apache/guacamole/net/event/package-summary.html">org.apache.guacamole.net.event</a></dt>
<dd>
<div class="block">An event which is triggered whenever a tunnel is being connected.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/event/TunnelConnectEvent.html#TunnelConnectEvent-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-org.apache.guacamole.net.GuacamoleTunnel-">TunnelConnectEvent(AuthenticatedUser, Credentials, GuacamoleTunnel)</a></span> - Constructor for class org.apache.guacamole.net.event.<a href="org/apache/guacamole/net/event/TunnelConnectEvent.html" title="class in org.apache.guacamole.net.event">TunnelConnectEvent</a></dt>
<dd>
<div class="block">Creates a new TunnelConnectEvent which represents the connecting of the
 given tunnel via a request associated with the given credentials.</div>
</dd>
<dt><a href="org/apache/guacamole/net/event/listener/TunnelConnectListener.html" title="interface in org.apache.guacamole.net.event.listener"><span class="typeNameLink">TunnelConnectListener</span></a> - Interface in <a href="org/apache/guacamole/net/event/listener/package-summary.html">org.apache.guacamole.net.event.listener</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="block"><span class="deprecationComment">Listeners should instead implement the <a href="org/apache/guacamole/net/event/listener/Listener.html" title="interface in org.apache.guacamole.net.event.listener"><code>Listener</code></a> interface.</span></div>
</div>
</dd>
<dt><a href="org/apache/guacamole/net/event/TunnelEvent.html" title="interface in org.apache.guacamole.net.event"><span class="typeNameLink">TunnelEvent</span></a> - Interface in <a href="org/apache/guacamole/net/event/package-summary.html">org.apache.guacamole.net.event</a></dt>
<dd>
<div class="block">Abstract basis for events associated with tunnels.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#Type--">Type()</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DecoratingDirectory.html#undecorate-ObjectType-">undecorate(ObjectType)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DecoratingDirectory.html" title="class in org.apache.guacamole.net.auth">DecoratingDirectory</a></dt>
<dd>
<div class="block">Given an object originally returned from a call to this
 DecoratingDirectory's decorate() function, reverses the decoration
 operation, returning the original object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/TokenFilter.html#unsetToken-java.lang.String-">unsetToken(String)</a></span> - Method in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/TokenFilter.html" title="class in org.apache.guacamole.token">TokenFilter</a></dt>
<dd>
<div class="block">Removes the value of the token with the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DecoratingDirectory.html#update-ObjectType-">update(ObjectType)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DecoratingDirectory.html" title="class in org.apache.guacamole.net.auth">DecoratingDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/DelegatingDirectory.html#update-ObjectType-">update(ObjectType)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/DelegatingDirectory.html" title="class in org.apache.guacamole.net.auth">DelegatingDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/Directory.html#update-ObjectType-">update(ObjectType)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/Directory.html" title="interface in org.apache.guacamole.net.auth">Directory</a></dt>
<dd>
<div class="block">Updates the stored object with the data contained in the given object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html#update-ObjectType-">update(ObjectType)</a></span> - Method in class org.apache.guacamole.net.auth.simple.<a href="org/apache/guacamole/net/auth/simple/SimpleDirectory.html" title="class in org.apache.guacamole.net.auth.simple">SimpleDirectory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html#updateAuthenticatedUser-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">updateAuthenticatedUser(AuthenticatedUser, Credentials)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth">AbstractAuthenticationProvider</a></dt>
<dd>
<div class="block">Returns a new or updated AuthenticatedUser for the given credentials
 already having produced the given AuthenticatedUser.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AuthenticationProvider.html#updateAuthenticatedUser-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">updateAuthenticatedUser(AuthenticatedUser, Credentials)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AuthenticationProvider.html" title="interface in org.apache.guacamole.net.auth">AuthenticationProvider</a></dt>
<dd>
<div class="block">Returns a new or updated AuthenticatedUser for the given credentials
 already having produced the given AuthenticatedUser.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html#updateUserContext-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">updateUserContext(UserContext, AuthenticatedUser, Credentials)</a></span> - Method in class org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AbstractAuthenticationProvider.html" title="class in org.apache.guacamole.net.auth">AbstractAuthenticationProvider</a></dt>
<dd>
<div class="block">Returns a new or updated UserContext for the given AuthenticatedUser
 already having the given UserContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/AuthenticationProvider.html#updateUserContext-org.apache.guacamole.net.auth.UserContext-org.apache.guacamole.net.auth.AuthenticatedUser-org.apache.guacamole.net.auth.Credentials-">updateUserContext(UserContext, AuthenticatedUser, Credentials)</a></span> - Method in interface org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/AuthenticationProvider.html" title="interface in org.apache.guacamole.net.auth">AuthenticationProvider</a></dt>
<dd>
<div class="block">Returns a new or updated UserContext for the given AuthenticatedUser
 already having the given UserContext.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/User.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">User</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">A user of the Guacamole web application.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/User.Attribute.html" title="class in org.apache.guacamole.net.auth"><span class="typeNameLink">User.Attribute</span></a> - Class in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">All standard attribute names with semantics defined by the Guacamole web
 application.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/UserContext.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">UserContext</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">The context of an active user.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html" title="class in org.apache.guacamole.net.auth.credentials"><span class="typeNameLink">UserCredentials</span></a> - Class in <a href="org/apache/guacamole/net/auth/credentials/package-summary.html">org.apache.guacamole.net.auth.credentials</a></dt>
<dd>
<div class="block">A fully-valid set of credentials and associated values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html#UserCredentials-java.util.Collection-java.util.Map-">UserCredentials(Collection&lt;Field&gt;, Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html" title="class in org.apache.guacamole.net.auth.credentials">UserCredentials</a></dt>
<dd>
<div class="block">Creates a new UserCredentials object which requires the given fields and
 values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html#UserCredentials-org.apache.guacamole.net.auth.credentials.CredentialsInfo-java.util.Map-">UserCredentials(CredentialsInfo, Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html" title="class in org.apache.guacamole.net.auth.credentials">UserCredentials</a></dt>
<dd>
<div class="block">Creates a new UserCredentials object which requires fields described by
 the given CredentialsInfo.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html#UserCredentials-org.apache.guacamole.net.auth.credentials.CredentialsInfo-">UserCredentials(CredentialsInfo)</a></span> - Constructor for class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html" title="class in org.apache.guacamole.net.auth.credentials">UserCredentials</a></dt>
<dd>
<div class="block">Creates a new UserCredentials object which requires fields described by
 the given CredentialsInfo but does not yet have any defined values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html#UserCredentials-java.util.Collection-">UserCredentials(Collection&lt;Field&gt;)</a></span> - Constructor for class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/UserCredentials.html" title="class in org.apache.guacamole.net.auth.credentials">UserCredentials</a></dt>
<dd>
<div class="block">Creates a new UserCredentials object which requires the given fields but
 does not yet have any defined values.</div>
</dd>
<dt><a href="org/apache/guacamole/net/event/UserEvent.html" title="interface in org.apache.guacamole.net.event"><span class="typeNameLink">UserEvent</span></a> - Interface in <a href="org/apache/guacamole/net/event/package-summary.html">org.apache.guacamole.net.event</a></dt>
<dd>
<div class="block">Abstract basis for events which may have an associated AuthenticatedUser when
 triggered.</div>
</dd>
<dt><a href="org/apache/guacamole/net/auth/UserGroup.html" title="interface in org.apache.guacamole.net.auth"><span class="typeNameLink">UserGroup</span></a> - Interface in <a href="org/apache/guacamole/net/auth/package-summary.html">org.apache.guacamole.net.auth</a></dt>
<dd>
<div class="block">A user group of the Guacamole web application.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/Field.Type.html#USERNAME">USERNAME</a></span> - Static variable in class org.apache.guacamole.form.<a href="org/apache/guacamole/form/Field.Type.html" title="class in org.apache.guacamole.form">Field.Type</a></dt>
<dd>
<div class="block">A username field.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/CredentialsInfo.html#USERNAME">USERNAME</a></span> - Static variable in class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/CredentialsInfo.html" title="class in org.apache.guacamole.net.auth.credentials">CredentialsInfo</a></dt>
<dd>
<div class="block">A field describing the username HTTP parameter expected by Guacamole
 during login, if usernames are being used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/credentials/CredentialsInfo.html#USERNAME_PASSWORD">USERNAME_PASSWORD</a></span> - Static variable in class org.apache.guacamole.net.auth.credentials.<a href="org/apache/guacamole/net/auth/credentials/CredentialsInfo.html" title="class in org.apache.guacamole.net.auth.credentials">CredentialsInfo</a></dt>
<dd>
<div class="block">CredentialsInfo object which describes standard username/password
 credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/token/StandardTokens.html#USERNAME_TOKEN">USERNAME_TOKEN</a></span> - Static variable in class org.apache.guacamole.token.<a href="org/apache/guacamole/token/StandardTokens.html" title="class in org.apache.guacamole.token">StandardTokens</a></dt>
<dd>
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The name of the username token added via addStandardTokens().</div>
</dd>
<dt><a href="org/apache/guacamole/form/UsernameField.html" title="class in org.apache.guacamole.form"><span class="typeNameLink">UsernameField</span></a> - Class in <a href="org/apache/guacamole/form/package-summary.html">org.apache.guacamole.form</a></dt>
<dd>
<div class="block">Represents a text field which will contain the uniquely-identifying name of
 a user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/form/UsernameField.html#UsernameField-java.lang.String-">UsernameField(String)</a></span> - Constructor for class org.apache.guacamole.form.<a href="org/apache/guacamole/form/UsernameField.html" title="class in org.apache.guacamole.form">UsernameField</a></dt>
<dd>
<div class="block">Creates a new UsernameField with the given name.</div>
</dd>
</dl>
<a name="I:V">
<!--   -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActivityRecordSet.SortableProperty.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActivityRecordSet.SortableProperty.html" title="enum in org.apache.guacamole.net.auth">ActivityRecordSet.SortableProperty</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ConnectionGroup.Type.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ConnectionGroup.Type.html" title="enum in org.apache.guacamole.net.auth">ConnectionGroup.Type</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.EncryptionMethod.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.EncryptionMethod.html" title="enum in org.apache.guacamole.net.auth">GuacamoleProxyConfiguration.EncryptionMethod</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermission.Type.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermission.Type.html" title="enum in org.apache.guacamole.net.auth.permission">ObjectPermission.Type</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/SystemPermission.Type.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/SystemPermission.Type.html" title="enum in org.apache.guacamole.net.auth.permission">SystemPermission.Type</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ActivityRecordSet.SortableProperty.html#values--">values()</a></span> - Static method in enum org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ActivityRecordSet.SortableProperty.html" title="enum in org.apache.guacamole.net.auth">ActivityRecordSet.SortableProperty</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/ConnectionGroup.Type.html#values--">values()</a></span> - Static method in enum org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/ConnectionGroup.Type.html" title="enum in org.apache.guacamole.net.auth">ConnectionGroup.Type</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.EncryptionMethod.html#values--">values()</a></span> - Static method in enum org.apache.guacamole.net.auth.<a href="org/apache/guacamole/net/auth/GuacamoleProxyConfiguration.EncryptionMethod.html" title="enum in org.apache.guacamole.net.auth">GuacamoleProxyConfiguration.EncryptionMethod</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/ObjectPermission.Type.html#values--">values()</a></span> - Static method in enum org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/ObjectPermission.Type.html" title="enum in org.apache.guacamole.net.auth.permission">ObjectPermission.Type</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/guacamole/net/auth/permission/SystemPermission.Type.html#values--">values()</a></span> - Static method in enum org.apache.guacamole.net.auth.permission.<a href="org/apache/guacamole/net/auth/permission/SystemPermission.Type.html" title="enum in org.apache.guacamole.net.auth.permission">SystemPermission.Type</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</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:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:Q">Q</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</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="overview-summary.html">Overview</a></li>
<li>Package</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>
<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>Copyright &#169; 2020. All rights reserved.</small></p>
        <!-- Google Analytics -->
        <script type="text/javascript">
          (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
          (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
          m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
          })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

          ga('create', 'UA-75289145-1', 'auto');
          ga('send', 'pageview');
        </script>
</body>
</html>
