blob: e8e557b841614b7ce11499aca50f7ef850742b08 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>PropertiesRealm (Apache Shiro :: Core 1.10.1 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="PropertiesRealm (Apache Shiro :: Core 1.10.1 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav"><!-- Matomo --> <script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ /* We explicitly disable cookie tracking to avoid privacy issues */ _paq.push(['disableCookies']); _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="//matomo.privacy.apache.org/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '2']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script> <!-- End Matomo Code -->
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PropertiesRealm.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.shiro.realm.text</a></div>
<h2 title="Class PropertiesRealm" class="title">Class PropertiesRealm</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../CachingRealm.html" title="class in org.apache.shiro.realm">org.apache.shiro.realm.CachingRealm</a></li>
<li>
<ul class="inheritance">
<li><a href="../AuthenticatingRealm.html" title="class in org.apache.shiro.realm">org.apache.shiro.realm.AuthenticatingRealm</a></li>
<li>
<ul class="inheritance">
<li><a href="../AuthorizingRealm.html" title="class in org.apache.shiro.realm">org.apache.shiro.realm.AuthorizingRealm</a></li>
<li>
<ul class="inheritance">
<li><a href="../SimpleAccountRealm.html" title="class in org.apache.shiro.realm">org.apache.shiro.realm.SimpleAccountRealm</a></li>
<li>
<ul class="inheritance">
<li><a href="TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">org.apache.shiro.realm.text.TextConfigurationRealm</a></li>
<li>
<ul class="inheritance">
<li>org.apache.shiro.realm.text.PropertiesRealm</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Runnable</a></code>, <code><a href="../../authc/LogoutAware.html" title="interface in org.apache.shiro.authc">LogoutAware</a></code>, <code><a href="../../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code>, <code><a href="../../authz/permission/PermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">PermissionResolverAware</a></code>, <code><a href="../../authz/permission/RolePermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolverAware</a></code>, <code>org.apache.shiro.cache.CacheManagerAware</code>, <code><a href="../Realm.html" title="interface in org.apache.shiro.realm">Realm</a></code>, <code>org.apache.shiro.util.Destroyable</code>, <code>org.apache.shiro.util.Initializable</code>, <code>org.apache.shiro.util.Nameable</code></dd>
</dl>
<hr>
<pre>public class <a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.84">PropertiesRealm</a>
extends <a href="TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a>
implements org.apache.shiro.util.Destroyable, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Runnable</a></pre>
<div class="block">A <a href="TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text"><code>TextConfigurationRealm</code></a> that defers all logic to the parent class, but just enables
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Properties</code></a> based configuration in addition to the parent class's String configuration.
<p/>
This class allows processing of a single .properties file for user, role, and
permission configuration.
<p/>
The <a href="#setResourcePath(java.lang.String)"><code>resourcePath</code></a> <em>MUST</em> be set before this realm can be initialized. You
can specify any resource path supported by
<code>ResourceUtils.getInputStreamForPath</code> method.
<p/>
The Properties format understood by this implementation must be written as follows:
<p/>
Each line's key/value pair represents either a user-to-role(s) mapping <em>or</em> a role-to-permission(s)
mapping.
<p/>
The user-to-role(s) lines have this format:</p>
<p/>
<code><b>user.</b><em>username</em> = <em>password</em>,role1,role2,...</code></p>
<p/>
Note that each key is prefixed with the token <b><code>user.</code></b> Each value must adhere to the
the <a href="TextConfigurationRealm.html#setUserDefinitions(java.lang.String)"><code>setUserDefinitions(String)</code></a> JavaDoc.
<p/>
The role-to-permission(s) lines have this format:</p>
<p/>
<code><b>role.</b><em>rolename</em> = <em>permissionDefinition1</em>, <em>permissionDefinition2</em>, ...</code>
<p/>
where each key is prefixed with the token <b><code>role.</code></b> and the value adheres to the format specified in
the <a href="TextConfigurationRealm.html#setRoleDefinitions(java.lang.String)"><code>setRoleDefinitions(String)</code></a> JavaDoc.
<p/>
Here is an example of a very simple properties definition that conforms to the above format rules and corresponding
method JavaDocs:
<p/>
<code>user.root = <em>rootPassword</em>,administrator<br/>
user.jsmith = <em>jsmithPassword</em>,manager,engineer,employee<br/>
user.abrown = <em>abrownPassword</em>,qa,employee<br/>
user.djones = <em>djonesPassword</em>,qa,contractor<br/>
<br/>
role.administrator = *<br/>
role.manager = &quot;user:read,write&quot;, file:execute:/usr/local/emailManagers.sh<br/>
role.engineer = &quot;file:read,execute:/usr/local/tomcat/bin/startup.sh&quot;<br/>
role.employee = application:use:wiki<br/>
role.qa = &quot;server:view,start,shutdown,restart:someQaServer&quot;, server:view:someProductionServer<br/>
role.contractor = application:use:timesheet</code></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.2</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fileLastModified">fileLastModified</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reloadIntervalSeconds">reloadIntervalSeconds</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#resourcePath">resourcePath</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink">ExecutorService</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scheduler">scheduler</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#useXmlFormat">useXmlFormat</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.shiro.realm.SimpleAccountRealm">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.shiro.realm.<a href="../SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></h3>
<code><a href="../SimpleAccountRealm.html#roles">roles</a>, <a href="../SimpleAccountRealm.html#ROLES_LOCK">ROLES_LOCK</a>, <a href="../SimpleAccountRealm.html#users">users</a>, <a href="../SimpleAccountRealm.html#USERS_LOCK">USERS_LOCK</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">PropertiesRealm</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#afterRoleCacheSet()">afterRoleCacheSet</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#destroy()">destroy</a></span>()</code></th>
<td class="colLast">
<div class="block">Destroy reload scheduler if one exists.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName(java.lang.String,java.lang.String)">getName</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;prefix)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRolename(java.lang.String)">getRolename</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;key)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUsername(java.lang.String)">getUsername</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;key)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRolename(java.lang.String)">isRolename</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;key)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isUsername(java.lang.String)">isUsername</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;key)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onInit()">onInit</a></span>()</code></th>
<td class="colLast">
<div class="block">Will call 'processDefinitions' on startup.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#run()">run</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setReloadIntervalSeconds(int)">setReloadIntervalSeconds</a></span>&#8203;(int&nbsp;reloadIntervalSeconds)</code></th>
<td class="colLast">
<div class="block">Sets the interval in seconds at which the property file will be checked for changes and reloaded.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setResourcePath(java.lang.String)">setResourcePath</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;resourcePath)</code></th>
<td class="colLast">
<div class="block">Sets the path of the properties file to load user, role, and permission information from.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setUseXmlFormat(boolean)">setUseXmlFormat</a></span>&#8203;(boolean&nbsp;useXmlFormat)</code></th>
<td class="colLast">
<div class="block">Determines whether or not the properties XML format should be used.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#startReloadThread()">startReloadThread</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.shiro.realm.text.TextConfigurationRealm">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.shiro.realm.text.<a href="TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></h3>
<code><a href="TextConfigurationRealm.html#getRoleDefinitions()">getRoleDefinitions</a>, <a href="TextConfigurationRealm.html#getUserDefinitions()">getUserDefinitions</a>, <a href="TextConfigurationRealm.html#processDefinitions()">processDefinitions</a>, <a href="TextConfigurationRealm.html#processRoleDefinitions()">processRoleDefinitions</a>, <a href="TextConfigurationRealm.html#processRoleDefinitions(java.util.Map)">processRoleDefinitions</a>, <a href="TextConfigurationRealm.html#processUserDefinitions()">processUserDefinitions</a>, <a href="TextConfigurationRealm.html#processUserDefinitions(java.util.Map)">processUserDefinitions</a>, <a href="TextConfigurationRealm.html#setRoleDefinitions(java.lang.String)">setRoleDefinitions</a>, <a href="TextConfigurationRealm.html#setUserDefinitions(java.lang.String)">setUserDefinitions</a>, <a href="TextConfigurationRealm.html#toLines(java.lang.String)">toLines</a>, <a href="TextConfigurationRealm.html#toMap(java.util.Collection)">toMap</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.shiro.realm.SimpleAccountRealm">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.shiro.realm.<a href="../SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></h3>
<code><a href="../SimpleAccountRealm.html#accountExists(java.lang.String)">accountExists</a>, <a href="../SimpleAccountRealm.html#add(org.apache.shiro.authc.SimpleAccount)">add</a>, <a href="../SimpleAccountRealm.html#add(org.apache.shiro.authz.SimpleRole)">add</a>, <a href="../SimpleAccountRealm.html#addAccount(java.lang.String,java.lang.String)">addAccount</a>, <a href="../SimpleAccountRealm.html#addAccount(java.lang.String,java.lang.String,java.lang.String...)">addAccount</a>, <a href="../SimpleAccountRealm.html#addRole(java.lang.String)">addRole</a>, <a href="../SimpleAccountRealm.html#doGetAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">doGetAuthenticationInfo</a>, <a href="../SimpleAccountRealm.html#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">doGetAuthorizationInfo</a>, <a href="../SimpleAccountRealm.html#getRole(java.lang.String)">getRole</a>, <a href="../SimpleAccountRealm.html#getUser(java.lang.String)">getUser</a>, <a href="../SimpleAccountRealm.html#getUsername(org.apache.shiro.authc.SimpleAccount)">getUsername</a>, <a href="../SimpleAccountRealm.html#getUsername(org.apache.shiro.subject.PrincipalCollection)">getUsername</a>, <a href="../SimpleAccountRealm.html#roleExists(java.lang.String)">roleExists</a>, <a href="../SimpleAccountRealm.html#toSet(java.lang.String,java.lang.String)">toSet</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.shiro.realm.AuthorizingRealm">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.shiro.realm.<a href="../AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></h3>
<code><a href="../AuthorizingRealm.html#afterCacheManagerSet()">afterCacheManagerSet</a>, <a href="../AuthorizingRealm.html#checkPermission(org.apache.shiro.authz.Permission,org.apache.shiro.authz.AuthorizationInfo)">checkPermission</a>, <a href="../AuthorizingRealm.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkPermission</a>, <a href="../AuthorizingRealm.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">checkPermission</a>, <a href="../AuthorizingRealm.html#checkPermissions(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)">checkPermissions</a>, <a href="../AuthorizingRealm.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkPermissions</a>, <a href="../AuthorizingRealm.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkPermissions</a>, <a href="../AuthorizingRealm.html#checkRole(java.lang.String,org.apache.shiro.authz.AuthorizationInfo)">checkRole</a>, <a href="../AuthorizingRealm.html#checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkRole</a>, <a href="../AuthorizingRealm.html#checkRoles(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)">checkRoles</a>, <a href="../AuthorizingRealm.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkRoles</a>, <a href="../AuthorizingRealm.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkRoles</a>, <a href="../AuthorizingRealm.html#clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">clearCachedAuthorizationInfo</a>, <a href="../AuthorizingRealm.html#doClearCache(org.apache.shiro.subject.PrincipalCollection)">doClearCache</a>, <a href="../AuthorizingRealm.html#getAuthorizationCache()">getAuthorizationCache</a>, <a href="../AuthorizingRealm.html#getAuthorizationCacheKey(org.apache.shiro.subject.PrincipalCollection)">getAuthorizationCacheKey</a>, <a href="../AuthorizingRealm.html#getAuthorizationCacheName()">getAuthorizationCacheName</a>, <a href="../AuthorizingRealm.html#getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">getAuthorizationInfo</a>, <a href="../AuthorizingRealm.html#getPermissionResolver()">getPermissionResolver</a>, <a href="../AuthorizingRealm.html#getPermissions(org.apache.shiro.authz.AuthorizationInfo)">getPermissions</a>, <a href="../AuthorizingRealm.html#getRolePermissionResolver()">getRolePermissionResolver</a>, <a href="../AuthorizingRealm.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">hasAllRoles</a>, <a href="../AuthorizingRealm.html#hasRole(java.lang.String,org.apache.shiro.authz.AuthorizationInfo)">hasRole</a>, <a href="../AuthorizingRealm.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">hasRole</a>, <a href="../AuthorizingRealm.html#hasRoles(java.util.List,org.apache.shiro.authz.AuthorizationInfo)">hasRoles</a>, <a href="../AuthorizingRealm.html#hasRoles(org.apache.shiro.subject.PrincipalCollection,java.util.List)">hasRoles</a>, <a href="../AuthorizingRealm.html#isAuthorizationCachingEnabled()">isAuthorizationCachingEnabled</a>, <a href="../AuthorizingRealm.html#isPermitted(java.util.List,org.apache.shiro.authz.AuthorizationInfo)">isPermitted</a>, <a href="../AuthorizingRealm.html#isPermitted(org.apache.shiro.authz.Permission,org.apache.shiro.authz.AuthorizationInfo)">isPermitted</a>, <a href="../AuthorizingRealm.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">isPermitted</a>, <a href="../AuthorizingRealm.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermitted</a>, <a href="../AuthorizingRealm.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)">isPermitted</a>, <a href="../AuthorizingRealm.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">isPermitted</a>, <a href="../AuthorizingRealm.html#isPermittedAll(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)">isPermittedAll</a>, <a href="../AuthorizingRealm.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermittedAll</a>, <a href="../AuthorizingRealm.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">isPermittedAll</a>, <a href="../AuthorizingRealm.html#setAuthorizationCache(org.apache.shiro.cache.Cache)">setAuthorizationCache</a>, <a href="../AuthorizingRealm.html#setAuthorizationCacheName(java.lang.String)">setAuthorizationCacheName</a>, <a href="../AuthorizingRealm.html#setAuthorizationCachingEnabled(boolean)">setAuthorizationCachingEnabled</a>, <a href="../AuthorizingRealm.html#setName(java.lang.String)">setName</a>, <a href="../AuthorizingRealm.html#setPermissionResolver(org.apache.shiro.authz.permission.PermissionResolver)">setPermissionResolver</a>, <a href="../AuthorizingRealm.html#setRolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver)">setRolePermissionResolver</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.shiro.realm.AuthenticatingRealm">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.shiro.realm.<a href="../AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></h3>
<code><a href="../AuthenticatingRealm.html#assertCredentialsMatch(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">assertCredentialsMatch</a>, <a href="../AuthenticatingRealm.html#clearCachedAuthenticationInfo(org.apache.shiro.subject.PrincipalCollection)">clearCachedAuthenticationInfo</a>, <a href="../AuthenticatingRealm.html#getAuthenticationCache()">getAuthenticationCache</a>, <a href="../AuthenticatingRealm.html#getAuthenticationCacheKey(org.apache.shiro.authc.AuthenticationToken)">getAuthenticationCacheKey</a>, <a href="../AuthenticatingRealm.html#getAuthenticationCacheKey(org.apache.shiro.subject.PrincipalCollection)">getAuthenticationCacheKey</a>, <a href="../AuthenticatingRealm.html#getAuthenticationCacheName()">getAuthenticationCacheName</a>, <a href="../AuthenticatingRealm.html#getAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">getAuthenticationInfo</a>, <a href="../AuthenticatingRealm.html#getAuthenticationTokenClass()">getAuthenticationTokenClass</a>, <a href="../AuthenticatingRealm.html#getCredentialsMatcher()">getCredentialsMatcher</a>, <a href="../AuthenticatingRealm.html#init()">init</a>, <a href="../AuthenticatingRealm.html#isAuthenticationCachingEnabled()">isAuthenticationCachingEnabled</a>, <a href="../AuthenticatingRealm.html#isAuthenticationCachingEnabled(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">isAuthenticationCachingEnabled</a>, <a href="../AuthenticatingRealm.html#setAuthenticationCache(org.apache.shiro.cache.Cache)">setAuthenticationCache</a>, <a href="../AuthenticatingRealm.html#setAuthenticationCacheName(java.lang.String)">setAuthenticationCacheName</a>, <a href="../AuthenticatingRealm.html#setAuthenticationCachingEnabled(boolean)">setAuthenticationCachingEnabled</a>, <a href="../AuthenticatingRealm.html#setAuthenticationTokenClass(java.lang.Class)">setAuthenticationTokenClass</a>, <a href="../AuthenticatingRealm.html#setCredentialsMatcher(org.apache.shiro.authc.credential.CredentialsMatcher)">setCredentialsMatcher</a>, <a href="../AuthenticatingRealm.html#supports(org.apache.shiro.authc.AuthenticationToken)">supports</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.shiro.realm.CachingRealm">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.shiro.realm.<a href="../CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</a></h3>
<code><a href="../CachingRealm.html#clearCache(org.apache.shiro.subject.PrincipalCollection)">clearCache</a>, <a href="../CachingRealm.html#getAvailablePrincipal(org.apache.shiro.subject.PrincipalCollection)">getAvailablePrincipal</a>, <a href="../CachingRealm.html#getCacheManager()">getCacheManager</a>, <a href="../CachingRealm.html#getName()">getName</a>, <a href="../CachingRealm.html#isCachingEnabled()">isCachingEnabled</a>, <a href="../CachingRealm.html#onLogout(org.apache.shiro.subject.PrincipalCollection)">onLogout</a>, <a href="../CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)">setCacheManager</a>, <a href="../CachingRealm.html#setCachingEnabled(boolean)">setCachingEnabled</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.shiro.util.Initializable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.shiro.util.Initializable</h3>
<code>init</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="scheduler">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scheduler</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink">ExecutorService</a> <a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.101">scheduler</a></pre>
</li>
</ul>
<a id="useXmlFormat">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useXmlFormat</h4>
<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.102">useXmlFormat</a></pre>
</li>
</ul>
<a id="resourcePath">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resourcePath</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> <a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.103">resourcePath</a></pre>
</li>
</ul>
<a id="fileLastModified">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fileLastModified</h4>
<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.104">fileLastModified</a></pre>
</li>
</ul>
<a id="reloadIntervalSeconds">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>reloadIntervalSeconds</h4>
<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.105">reloadIntervalSeconds</a></pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PropertiesRealm</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.107">PropertiesRealm</a>()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="setUseXmlFormat(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUseXmlFormat</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.121">setUseXmlFormat</a>&#8203;(boolean&nbsp;useXmlFormat)</pre>
<div class="block">Determines whether or not the properties XML format should be used. For more information, see
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true#loadFromXML(java.io.InputStream)" title="class or interface in java.util" class="externalLink"><code>Properties.loadFromXML(java.io.InputStream)</code></a></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>useXmlFormat</code> - true to use XML or false to use the normal format. Defaults to false.</dd>
</dl>
</li>
</ul>
<a id="setResourcePath(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setResourcePath</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.134">setResourcePath</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;resourcePath)</pre>
<div class="block">Sets the path of the properties file to load user, role, and permission information from. The properties
file will be loaded using <code>ResourceUtils.getInputStreamForPath(String)</code> so any convention recognized
by that method is accepted here. For example, to load a file from the classpath use
<code>classpath:myfile.properties</code>; to load a file from disk simply specify the full path; to load
a file from a URL use <code>url:www.mysite.com/myfile.properties</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>resourcePath</code> - the path to load the properties file from. This is a required property.</dd>
</dl>
</li>
</ul>
<a id="setReloadIntervalSeconds(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReloadIntervalSeconds</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.146">setReloadIntervalSeconds</a>&#8203;(int&nbsp;reloadIntervalSeconds)</pre>
<div class="block">Sets the interval in seconds at which the property file will be checked for changes and reloaded. If this is
set to zero or less, property file reloading will be disabled. If it is set to 1 or greater, then a
separate thread will be created to monitor the property file for changes and reload the file if it is updated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reloadIntervalSeconds</code> - the interval in seconds at which the property file should be examined for changes.
If set to zero or less, reloading is disabled.</dd>
</dl>
</li>
</ul>
<a id="onInit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onInit</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.154">onInit</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="TextConfigurationRealm.html#onInit()">TextConfigurationRealm</a></code></span></div>
<div class="block">Will call 'processDefinitions' on startup.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="TextConfigurationRealm.html#onInit()">onInit</a></code>&nbsp;in class&nbsp;<code><a href="TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://issues.apache.org/jira/browse/SHIRO-223">SHIRO-223</a></dd>
</dl>
</li>
</ul>
<a id="afterRoleCacheSet()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterRoleCacheSet</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.161">afterRoleCacheSet</a>()</pre>
</li>
</ul>
<a id="destroy()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>destroy</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.173">destroy</a>()</pre>
<div class="block">Destroy reload scheduler if one exists.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>destroy</code>&nbsp;in interface&nbsp;<code>org.apache.shiro.util.Destroyable</code></dd>
</dl>
</li>
</ul>
<a id="startReloadThread()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startReloadThread</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.187">startReloadThread</a>()</pre>
</li>
</ul>
<a id="run()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>run</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.194">run</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang" class="externalLink">run</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Runnable</a></code></dd>
</dl>
</li>
</ul>
<a id="getName(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre class="methodSignature">protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.333">getName</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;key,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;prefix)</pre>
</li>
</ul>
<a id="isUsername(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUsername</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.337">isUsername</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;key)</pre>
</li>
</ul>
<a id="isRolename(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRolename</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.341">isRolename</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;key)</pre>
</li>
</ul>
<a id="getUsername(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUsername</h4>
<pre class="methodSignature">protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.345">getUsername</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;key)</pre>
</li>
</ul>
<a id="getRolename(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getRolename</h4>
<pre class="methodSignature">protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/realm/text/PropertiesRealm.html#line.349">getRolename</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;key)</pre>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PropertiesRealm.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>