Files
developer.sailpoint.com/static/rule-java-docs/sailpoint/server/IdnRuleUtil.html
2023-06-12 15:04:22 +00:00

1380 lines
67 KiB
HTML

<!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_322) on Mon Jun 05 14:25:12 EDT 2023 -->
<title>IdnRuleUtil</title>
<meta name="date" content="2023-06-05">
<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="IdnRuleUtil";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":9,"i34":9,"i35":9,"i36":9,"i37":10,"i38":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-files/index-1.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
</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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">sailpoint.server</div>
<h2 title="Class IdnRuleUtil" class="title">Class IdnRuleUtil</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>sailpoint.server.IdnRuleUtil</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">IdnRuleUtil</span>
extends java.lang.Object</pre>
<div class="block">Utility class containing methods customers can use within a rules to perform common tasks. This utility
class allows us to abstract out the use of SailPointContext in rules so that we can one day not pass a
context to the rule at all.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#EQUALS_FILTER">EQUALS_FILTER</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#STARTS_WITH_FILTER">STARTS_WITH_FILTER</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#accountExistsByDisplayName-java.lang.String-java.lang.String-">accountExistsByDisplayName</a></span>(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;displayName)</code>
<div class="block">Determines if an account currently exists on an application using the display name.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#accountExistsByNativeIdentity-java.lang.String-java.lang.String-">accountExistsByNativeIdentity</a></span>(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;nativeIdentity)</code>
<div class="block">Determines if an account currently exists on an application using the native identity.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static java.util.List</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#asList-java.lang.Object-">asList</a></span>(java.lang.Object&nbsp;object)</code>
<div class="block">Return a List with the given object.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#attrSearchCountAccounts-java.util.List-java.lang.String-java.lang.String-java.util.List-">attrSearchCountAccounts</a></span>(java.util.List&lt;java.lang.String&gt;&nbsp;sourceIds,
java.lang.String&nbsp;attributeName,
java.lang.String&nbsp;operation,
java.util.List&lt;java.lang.String&gt;&nbsp;values)</code>
<div class="block">Count the accounts that match the searchable attribute and value.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#attrSearchGetIdentityName-java.util.List-java.lang.String-java.lang.String-java.util.List-">attrSearchGetIdentityName</a></span>(java.util.List&lt;java.lang.String&gt;&nbsp;sourceIds,
java.lang.String&nbsp;attributeName,
java.lang.String&nbsp;operation,
java.util.List&lt;java.lang.String&gt;&nbsp;values)</code>
<div class="block">Get the identity name for the account matching the specified criteria.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#countAccounts-java.lang.String-">countAccounts</a></span>(java.lang.String&nbsp;applicationName)</code>
<div class="block">Counts the number of accounts on an application.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#countIdentitiesBySearchableIdentityAttribute-java.lang.String-java.lang.String-java.lang.String-">countIdentitiesBySearchableIdentityAttribute</a></span>(java.lang.String&nbsp;attributeName,
java.lang.String&nbsp;operation,
java.lang.String&nbsp;value)</code>
<div class="block">Count and return the number of users that match the incoming attributeName, operation and value.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected <a href="../../sailpoint/object/QueryOptions.html" title="class in sailpoint.object">QueryOptions</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#createIdentityAttributeQueryOptions-java.lang.String-java.lang.String-java.lang.String-">createIdentityAttributeQueryOptions</a></span>(java.lang.String&nbsp;attributeName,
java.lang.String&nbsp;operation,
java.lang.String&nbsp;value)</code>
<div class="block">Create the QueryOptions for the given parameters.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#dateToString-java.util.Date-java.lang.String-">dateToString</a></span>(java.util.Date&nbsp;src,
java.lang.String&nbsp;format)</code>
<div class="block">Format a Date value as a String, using the JVMs default
timezone.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#dateToString-java.util.Date-java.lang.String-java.util.TimeZone-">dateToString</a></span>(java.util.Date&nbsp;src,
java.lang.String&nbsp;format,
java.util.TimeZone&nbsp;tz)</code>
<div class="block">Format a Date value as a String, using the JVMs default
timezone.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../sailpoint/rule/Identity.html" title="interface in sailpoint.rule">Identity</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#findIdentitiesBySearchableIdentityAttribute-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">findIdentitiesBySearchableIdentityAttribute</a></span>(java.lang.String&nbsp;attributeName,
java.lang.String&nbsp;operation,
java.lang.String&nbsp;value,
java.lang.String&nbsp;sortAttribute)</code>
<div class="block">Find and return the users that match the incoming attributeName, operation, value ordered by
the specified sortAttribute</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getAccountAttribute-sailpoint.rule.Account-java.lang.String-">getAccountAttribute</a></span>(<a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a>&nbsp;account,
java.lang.String&nbsp;attribute)</code>
<div class="block">Gets the String value of an attribute from an account on an application.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getAccountAttribute-java.lang.String-java.lang.String-java.lang.String-">getAccountAttribute</a></span>(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;nativeIdentity,
java.lang.String&nbsp;attribute)</code>
<div class="block">Gets the String value of an attribute from an account on an application.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getAccountAttributeBool-sailpoint.rule.Account-java.lang.String-">getAccountAttributeBool</a></span>(<a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a>&nbsp;account,
java.lang.String&nbsp;attribute)</code>
<div class="block">Gets the boolean value of an attribute from an account on an application.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getAccountAttributeBool-java.lang.String-java.lang.String-java.lang.String-">getAccountAttributeBool</a></span>(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;nativeIdentity,
java.lang.String&nbsp;attribute)</code>
<div class="block">Gets the boolean value of an attribute from an account on an application.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getAccountAttributeInt-sailpoint.rule.Account-java.lang.String-">getAccountAttributeInt</a></span>(<a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a>&nbsp;account,
java.lang.String&nbsp;attribute)</code>
<div class="block">Gets the int value of an attribute from an account on an application.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getAccountAttributeInt-java.lang.String-java.lang.String-java.lang.String-">getAccountAttributeInt</a></span>(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;nativeIdentity,
java.lang.String&nbsp;attribute)</code>
<div class="block">Gets the int value of an attribute from an account on an application.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getAccountByDisplayName-java.lang.String-java.lang.String-">getAccountByDisplayName</a></span>(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;displayName)</code>
<div class="block">Gets an account on an application using the display name.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getAccountByNativeIdentity-java.lang.String-java.lang.String-">getAccountByNativeIdentity</a></span>(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;nativeIdentity)</code>
<div class="block">Gets an account on an application using the native identity.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getAllAccounts-java.lang.String-java.lang.String-">getAllAccounts</a></span>(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;identityName)</code>
<div class="block">Given the name of the application and the identity name return the list of
Account objects found for the identity.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>protected ConnectorServiceResolver</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getConnectorService--">getConnectorService</a></span>()</code>
<div class="block">Method is separate from main code to allow me to mock out the connector interaction as part of
an integration test.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getFirstAccount-java.lang.String-java.lang.String-">getFirstAccount</a></span>(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;identityName)</code>
<div class="block">Get the first account found for the application and identityName.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getFirstAccountNativeIdentity-java.lang.String-java.lang.String-">getFirstAccountNativeIdentity</a></span>(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;identityName)</code>
<div class="block">Get the first account for the application and identityName and return the first accounts native Identity.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="../../sailpoint/rule/Identity.html" title="interface in sailpoint.rule">Identity</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getIdentityById-java.lang.String-">getIdentityById</a></span>(java.lang.String&nbsp;id)</code>
<div class="block">Fetch an identity by the internal id.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>protected LDAPConnectorServiceResolver</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getLDAPConnectorService--">getLDAPConnectorService</a></span>()</code>
<div class="block">Method is separate from main code to allow me to mock out the connector interaction as part of
an integration test.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getManagedAttributeDescription-java.lang.String-java.lang.String-java.lang.String-sailpoint.object.ManagedAttribute.Type-">getManagedAttributeDescription</a></span>(java.lang.String&nbsp;sourceId,
java.lang.String&nbsp;name,
java.lang.String&nbsp;value,
<a href="../../sailpoint/object/ManagedAttribute.Type.html" title="enum in sailpoint.object">ManagedAttribute.Type</a>&nbsp;type)</code>
<div class="block">Finds ManagedAttribute description by provided sourceId/name/value/type.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="../../sailpoint/rule/ManagedAttributeDetails.html" title="class in sailpoint.rule">ManagedAttributeDetails</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getManagedAttributeDetails-java.lang.String-java.lang.String-java.lang.String-sailpoint.object.ManagedAttribute.Type-">getManagedAttributeDetails</a></span>(java.lang.String&nbsp;sourceId,
java.lang.String&nbsp;name,
java.lang.String&nbsp;value,
<a href="../../sailpoint/object/ManagedAttribute.Type.html" title="enum in sailpoint.object">ManagedAttribute.Type</a>&nbsp;type)</code>
<div class="block">Finds ManagedAttribute by sourceId/name/value/type and returns its details in ManagedAttributeDetails model.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getRawAccountAttribute-sailpoint.rule.Account-java.lang.String-">getRawAccountAttribute</a></span>(<a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a>&nbsp;account,
java.lang.String&nbsp;attribute)</code>
<div class="block">Gets the value of an attribute from an account on an application.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getRawAccountAttribute-java.lang.String-java.lang.String-java.lang.String-">getRawAccountAttribute</a></span>(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;nativeIdentity,
java.lang.String&nbsp;attribute)</code>
<div class="block">Gets the value of an attribute from an account on an application.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getSourceAttributeBySourceId-java.lang.String-java.lang.String-">getSourceAttributeBySourceId</a></span>(java.lang.String&nbsp;sourceId,
java.lang.String&nbsp;attributeName)</code>
<div class="block">Get a single Source string attribute from an Application using the applicationId</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#getSourceAttributeBySourceName-java.lang.String-java.lang.String-">getSourceAttributeBySourceName</a></span>(java.lang.String&nbsp;sourceName,
java.lang.String&nbsp;attributeName)</code>
<div class="block">Get a single Source string attribute from an Application using the applicationId</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#isUniqueAccountId-java.lang.String-java.lang.String-java.lang.String-">isUniqueAccountId</a></span>(java.lang.String&nbsp;identityNameOrId,
java.lang.String&nbsp;applicationNameOrId,
java.lang.String&nbsp;accountId)</code>
<div class="block">A method that will call getObject() on the connector for the Account type
and test if an account with the given accountId exists.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#isUniqueLDAPValue-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">isUniqueLDAPValue</a></span>(java.lang.String&nbsp;identityNameOrId,
java.lang.String&nbsp;applicationNameOrId,
java.lang.String&nbsp;attributeName,
java.lang.String&nbsp;attributeValue)</code>
<div class="block">A method that can be used to call LDAP type connectors to look for
unique values.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#nullSafeCaseInsensitiveEq-java.lang.String-java.lang.String-">nullSafeCaseInsensitiveEq</a></span>(java.lang.String&nbsp;o1,
java.lang.String&nbsp;o2)</code>
<div class="block">This method performs a null-safe equality comparison between the two strings.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&gt;<br>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#nullSafeCompareTo-T-T-">nullSafeCompareTo</a></span>(T&nbsp;o1,
T&nbsp;o2)</code>
<div class="block">Return the compareTo() value for two objects that may be null.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#nullSafeEq-java.lang.Object-java.lang.Object-">nullSafeEq</a></span>(java.lang.Object&nbsp;o1,
java.lang.Object&nbsp;o2)</code>
<div class="block">This method performs a null-safe equality comparison between the two
given objects.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#nullSafeEq-java.lang.Object-java.lang.Object-boolean-">nullSafeEq</a></span>(java.lang.Object&nbsp;o1,
java.lang.Object&nbsp;o2,
boolean&nbsp;nullsEq)</code>
<div class="block">This method performs a null-safe equality comparison between the two
given objects.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#otoa-java.lang.Object-">otoa</a></span>(java.lang.Object&nbsp;object)</code>
<div class="block">Convert object to a string.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/server/IdnRuleUtil.html#otob-java.lang.Object-">otob</a></span>(java.lang.Object&nbsp;object)</code>
<div class="block">Convert object to a boolean.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="STARTS_WITH_FILTER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STARTS_WITH_FILTER</h4>
<pre>public static final&nbsp;java.lang.String STARTS_WITH_FILTER</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#sailpoint.server.IdnRuleUtil.STARTS_WITH_FILTER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="EQUALS_FILTER">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>EQUALS_FILTER</h4>
<pre>public static final&nbsp;java.lang.String EQUALS_FILTER</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#sailpoint.server.IdnRuleUtil.EQUALS_FILTER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="accountExistsByNativeIdentity-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>accountExistsByNativeIdentity</h4>
<pre>public&nbsp;boolean&nbsp;accountExistsByNativeIdentity(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;nativeIdentity)
throws GeneralException</pre>
<div class="block">Determines if an account currently exists on an application using the native identity.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationName</code> - The application name.</dd>
<dd><code>nativeIdentity</code> - The native identity of the account.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the account exists, false otherwise.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code></dd>
</dl>
</li>
</ul>
<a name="accountExistsByDisplayName-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>accountExistsByDisplayName</h4>
<pre>public&nbsp;boolean&nbsp;accountExistsByDisplayName(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;displayName)
throws GeneralException</pre>
<div class="block">Determines if an account currently exists on an application using the display name.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationName</code> - The application name.</dd>
<dd><code>displayName</code> - The display name of the account.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the account exists, false otherwise.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code></dd>
</dl>
</li>
</ul>
<a name="getAccountByNativeIdentity-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAccountByNativeIdentity</h4>
<pre>public&nbsp;<a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a>&nbsp;getAccountByNativeIdentity(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;nativeIdentity)
throws GeneralException</pre>
<div class="block">Gets an account on an application using the native identity.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationName</code> - The application name.</dd>
<dd><code>nativeIdentity</code> - The native identity of the account.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The Account representing the account or null if not found. If more than one found then the first
Account in the exists is returned.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code></dd>
</dl>
</li>
</ul>
<a name="getAccountByDisplayName-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAccountByDisplayName</h4>
<pre>public&nbsp;<a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a>&nbsp;getAccountByDisplayName(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;displayName)
throws GeneralException</pre>
<div class="block">Gets an account on an application using the display name.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationName</code> - The application name.</dd>
<dd><code>displayName</code> - The display name of the account.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The Account representing the account or null if not found. If more than one found then the first
Account in the exists is returned.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code></dd>
</dl>
</li>
</ul>
<a name="getAllAccounts-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllAccounts</h4>
<pre>public&nbsp;java.util.List&lt;<a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a>&gt;&nbsp;getAllAccounts(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;identityName)
throws GeneralException</pre>
<div class="block">Given the name of the application and the identity name return the list of
Account objects found for the identity.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationName</code> - The name of the application</dd>
<dd><code>identityName</code> - The name of the identity</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of AccountObjects required</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code> - wrapping underlying DB related errors</dd>
</dl>
</li>
</ul>
<a name="getFirstAccount-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFirstAccount</h4>
<pre>public&nbsp;<a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a>&nbsp;getFirstAccount(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;identityName)
throws GeneralException</pre>
<div class="block">Get the first account found for the application and identityName.
IF there is more then on e account the first account will be returned.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationName</code> - The name of the application</dd>
<dd><code>identityName</code> - The name of the Identity</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The account object</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code> - wrapping underlying DB related errors</dd>
</dl>
</li>
</ul>
<a name="getFirstAccountNativeIdentity-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFirstAccountNativeIdentity</h4>
<pre>public&nbsp;java.lang.String&nbsp;getFirstAccountNativeIdentity(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;identityName)
throws GeneralException</pre>
<div class="block">Get the first account for the application and identityName and return the first accounts native Identity.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationName</code> - The name of the application</dd>
<dd><code>identityName</code> - The name of the identity</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The first link's nativeIdentity</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code> - wrapping underlying DB related errors</dd>
</dl>
</li>
</ul>
<a name="countAccounts-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>countAccounts</h4>
<pre>public&nbsp;int&nbsp;countAccounts(java.lang.String&nbsp;applicationName)
throws GeneralException</pre>
<div class="block">Counts the number of accounts on an application.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationName</code> - The application name.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The total number of accounts.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code></dd>
</dl>
</li>
</ul>
<a name="getRawAccountAttribute-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRawAccountAttribute</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getRawAccountAttribute(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;nativeIdentity,
java.lang.String&nbsp;attribute)
throws GeneralException</pre>
<div class="block">Gets the value of an attribute from an account on an application.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationName</code> - The application name.</dd>
<dd><code>nativeIdentity</code> - The native identity of the account.</dd>
<dd><code>attribute</code> - The name of the attribute to retrieve.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The attribute value or null if the attribute does not exist.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code></dd>
</dl>
</li>
</ul>
<a name="getRawAccountAttribute-sailpoint.rule.Account-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRawAccountAttribute</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getRawAccountAttribute(<a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a>&nbsp;account,
java.lang.String&nbsp;attribute)</pre>
<div class="block">Gets the value of an attribute from an account on an application.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>account</code> - The account on the application.</dd>
<dd><code>attribute</code> - The name of the attribute to retrieve.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The attribute value or null if the attribute does not exist.</dd>
</dl>
</li>
</ul>
<a name="getAccountAttribute-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAccountAttribute</h4>
<pre>public&nbsp;java.lang.String&nbsp;getAccountAttribute(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;nativeIdentity,
java.lang.String&nbsp;attribute)
throws GeneralException</pre>
<div class="block">Gets the String value of an attribute from an account on an application.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationName</code> - The application name.</dd>
<dd><code>nativeIdentity</code> - The native identity of the account.</dd>
<dd><code>attribute</code> - The name of the attribute to retrieve.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The attribute value or null if the attribute does not exist.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code></dd>
</dl>
</li>
</ul>
<a name="getAccountAttribute-sailpoint.rule.Account-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAccountAttribute</h4>
<pre>public&nbsp;java.lang.String&nbsp;getAccountAttribute(<a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a>&nbsp;account,
java.lang.String&nbsp;attribute)</pre>
<div class="block">Gets the String value of an attribute from an account on an application.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>account</code> - The account on the application.</dd>
<dd><code>attribute</code> - The name of the attribute to retrieve.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The attribute value or null if the attribute does not exist.</dd>
</dl>
</li>
</ul>
<a name="getAccountAttributeBool-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAccountAttributeBool</h4>
<pre>public&nbsp;boolean&nbsp;getAccountAttributeBool(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;nativeIdentity,
java.lang.String&nbsp;attribute)
throws GeneralException</pre>
<div class="block">Gets the boolean value of an attribute from an account on an application.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationName</code> - The application name.</dd>
<dd><code>nativeIdentity</code> - The native identity of the account.</dd>
<dd><code>attribute</code> - The name of the attribute to retrieve.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The attribute value or false if the attribute does not exist.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code></dd>
</dl>
</li>
</ul>
<a name="getAccountAttributeBool-sailpoint.rule.Account-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAccountAttributeBool</h4>
<pre>public&nbsp;boolean&nbsp;getAccountAttributeBool(<a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a>&nbsp;account,
java.lang.String&nbsp;attribute)</pre>
<div class="block">Gets the boolean value of an attribute from an account on an application.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>account</code> - The account on the application.</dd>
<dd><code>attribute</code> - The name of the attribute to retrieve.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The attribute value or false if the attribute does not exist.</dd>
</dl>
</li>
</ul>
<a name="attrSearchCountAccounts-java.util.List-java.lang.String-java.lang.String-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>attrSearchCountAccounts</h4>
<pre>public&nbsp;int&nbsp;attrSearchCountAccounts(java.util.List&lt;java.lang.String&gt;&nbsp;sourceIds,
java.lang.String&nbsp;attributeName,
java.lang.String&nbsp;operation,
java.util.List&lt;java.lang.String&gt;&nbsp;values)</pre>
<div class="block">Count the accounts that match the searchable attribute and value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sourceIds</code> - The list of Application ids that represent the sources of the data.</dd>
<dd><code>attributeName</code> - The name of the searchable account attribute. The name parameter is required.</dd>
<dd><code>operation</code> - The operation to use when matching, it'll either be Operation.Equal OR Operation.StartsWith</dd>
<dd><code>values</code> - The value of that searchable attribute to math. The value parameter is required.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of accounts that match the parameters provided.</dd>
</dl>
</li>
</ul>
<a name="attrSearchGetIdentityName-java.util.List-java.lang.String-java.lang.String-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>attrSearchGetIdentityName</h4>
<pre>public&nbsp;java.lang.String&nbsp;attrSearchGetIdentityName(java.util.List&lt;java.lang.String&gt;&nbsp;sourceIds,
java.lang.String&nbsp;attributeName,
java.lang.String&nbsp;operation,
java.util.List&lt;java.lang.String&gt;&nbsp;values)</pre>
<div class="block">Get the identity name for the account matching the specified criteria.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sourceIds</code> - The list of Application ids that represent the sources of the data</dd>
<dd><code>attributeName</code> - The name of the searchable account attribute. The name parameter is required.</dd>
<dd><code>operation</code> - The operation to use when matching, it'll either be Operation.Equal OR Operation.StartsWith</dd>
<dd><code>values</code> - The value of that searchable attribute to math. The value parameter is required.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The name of the Identity that matched the account that match the parameters provided.</dd>
</dl>
</li>
</ul>
<a name="getIdentityById-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdentityById</h4>
<pre>public&nbsp;<a href="../../sailpoint/rule/Identity.html" title="interface in sailpoint.rule">Identity</a>&nbsp;getIdentityById(java.lang.String&nbsp;id)</pre>
<div class="block">Fetch an identity by the internal id.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - The id to use when fetching</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A DTO representing the Identity, will throw if identity was not found.</dd>
</dl>
</li>
</ul>
<a name="findIdentitiesBySearchableIdentityAttribute-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findIdentitiesBySearchableIdentityAttribute</h4>
<pre>public&nbsp;java.util.List&lt;<a href="../../sailpoint/rule/Identity.html" title="interface in sailpoint.rule">Identity</a>&gt;&nbsp;findIdentitiesBySearchableIdentityAttribute(java.lang.String&nbsp;attributeName,
java.lang.String&nbsp;operation,
java.lang.String&nbsp;value,
java.lang.String&nbsp;sortAttribute)</pre>
<div class="block">Find and return the users that match the incoming attributeName, operation, value ordered by
the specified sortAttribute</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attributeName</code> - The attribute that should be searched, must be searchable and non-null.</dd>
<dd><code>operation</code> - The operation to be used when searching and only allowed equals and starts with</dd>
<dd><code>value</code> - The value that should match and must be non-null</dd>
<dd><code>sortAttribute</code> - The attribute that should be used while sorting.
Default ordering will be on uid if not specified and this also must be searchable.
Sort will always be in ascending order</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The List of users that match the passed in parameters. The max number returned values will be
50 refine search to reduce results.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - when attribute provided is not searchable,
when operation is not StartsWith or Equals,
the sortAttribute is not searahable,
or if there are issues during the search</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../sailpoint/server/IdnRuleUtil.html#EQUALS_FILTER"><code>EQUALS_FILTER</code></a>,
<a href="../../sailpoint/server/IdnRuleUtil.html#STARTS_WITH_FILTER"><code>STARTS_WITH_FILTER</code></a></dd>
</dl>
</li>
</ul>
<a name="countIdentitiesBySearchableIdentityAttribute-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>countIdentitiesBySearchableIdentityAttribute</h4>
<pre>public&nbsp;int&nbsp;countIdentitiesBySearchableIdentityAttribute(java.lang.String&nbsp;attributeName,
java.lang.String&nbsp;operation,
java.lang.String&nbsp;value)</pre>
<div class="block">Count and return the number of users that match the incoming attributeName, operation and value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attributeName</code> - The attribute that should be searched, must be searchable and non-null.</dd>
<dd><code>operation</code> - The operation to be used when searching and only allowed equals and starts with</dd>
<dd><code>value</code> - The value that should match and must be non-null</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of identities that match the parameters</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - when attribute provided is not searchable,
when operation is not StartsWith or Equals,
or if there are issues during the count operation</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../sailpoint/server/IdnRuleUtil.html#EQUALS_FILTER"><code>EQUALS_FILTER</code></a>,
<a href="../../sailpoint/server/IdnRuleUtil.html#STARTS_WITH_FILTER"><code>STARTS_WITH_FILTER</code></a></dd>
</dl>
</li>
</ul>
<a name="createIdentityAttributeQueryOptions-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createIdentityAttributeQueryOptions</h4>
<pre>protected&nbsp;<a href="../../sailpoint/object/QueryOptions.html" title="class in sailpoint.object">QueryOptions</a>&nbsp;createIdentityAttributeQueryOptions(java.lang.String&nbsp;attributeName,
java.lang.String&nbsp;operation,
java.lang.String&nbsp;value)</pre>
<div class="block">Create the QueryOptions for the given parameters. Used for both searching and counting Identities.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>attributeName</code> - The attribute that should be searched, must be searchable and non-null.</dd>
<dd><code>operation</code> - The operation to be used when searching and only allowed equals and starts with</dd>
<dd><code>value</code> - The value that should match and must be non-null</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The QueryOptions of Identity search and counting:w</dd>
</dl>
</li>
</ul>
<a name="getAccountAttributeInt-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAccountAttributeInt</h4>
<pre>public&nbsp;int&nbsp;getAccountAttributeInt(java.lang.String&nbsp;applicationName,
java.lang.String&nbsp;nativeIdentity,
java.lang.String&nbsp;attribute)
throws GeneralException</pre>
<div class="block">Gets the int value of an attribute from an account on an application.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationName</code> - The application name.</dd>
<dd><code>nativeIdentity</code> - The native identity of the account.</dd>
<dd><code>attribute</code> - The name of the attribute to retrieve.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The attribute value or zero if the attribute does not exist.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code></dd>
</dl>
</li>
</ul>
<a name="getAccountAttributeInt-sailpoint.rule.Account-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAccountAttributeInt</h4>
<pre>public&nbsp;int&nbsp;getAccountAttributeInt(<a href="../../sailpoint/rule/Account.html" title="class in sailpoint.rule">Account</a>&nbsp;account,
java.lang.String&nbsp;attribute)</pre>
<div class="block">Gets the int value of an attribute from an account on an application.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>account</code> - The account on the application.</dd>
<dd><code>attribute</code> - The name of the attribute to retrieve.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The attribute value or zero if the attribute does not exist.</dd>
</dl>
</li>
</ul>
<a name="getManagedAttributeDescription-java.lang.String-java.lang.String-java.lang.String-sailpoint.object.ManagedAttribute.Type-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getManagedAttributeDescription</h4>
<pre>public&nbsp;java.lang.String&nbsp;getManagedAttributeDescription(java.lang.String&nbsp;sourceId,
java.lang.String&nbsp;name,
java.lang.String&nbsp;value,
<a href="../../sailpoint/object/ManagedAttribute.Type.html" title="enum in sailpoint.object">ManagedAttribute.Type</a>&nbsp;type)
throws GeneralException</pre>
<div class="block">Finds ManagedAttribute description by provided sourceId/name/value/type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sourceId</code> - The sourceId used to query the ManagedAttribute.</dd>
<dd><code>name</code> - The name of the attribute used to query the ManagedAttribute.</dd>
<dd><code>value</code> - The value of the attribute used to query the ManagedAttribute.</dd>
<dd><code>type</code> - The type of the attribute used to query the ManagedAttribute (see enum ManagedAttribute.Type).
Defaults to Entitlement (if null provided).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ManagedAttribute's description if found or else null.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code> - wrapping underlying DB related errors</dd>
</dl>
</li>
</ul>
<a name="getManagedAttributeDetails-java.lang.String-java.lang.String-java.lang.String-sailpoint.object.ManagedAttribute.Type-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getManagedAttributeDetails</h4>
<pre>public&nbsp;<a href="../../sailpoint/rule/ManagedAttributeDetails.html" title="class in sailpoint.rule">ManagedAttributeDetails</a>&nbsp;getManagedAttributeDetails(java.lang.String&nbsp;sourceId,
java.lang.String&nbsp;name,
java.lang.String&nbsp;value,
<a href="../../sailpoint/object/ManagedAttribute.Type.html" title="enum in sailpoint.object">ManagedAttribute.Type</a>&nbsp;type)
throws GeneralException</pre>
<div class="block">Finds ManagedAttribute by sourceId/name/value/type and returns its details in ManagedAttributeDetails model.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sourceId</code> - The sourceId used to query the ManagedAttribute.</dd>
<dd><code>name</code> - The name of the attribute used to query the ManagedAttribute.</dd>
<dd><code>value</code> - The value of the attribute used to query the ManagedAttribute.</dd>
<dd><code>type</code> - The type of the attribute used to query the ManagedAttribute (see enum ManagedAttribute.Type).
Defaults to Entitlement (if null provided).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ManagedAttributeDetails if found or else null.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code> - wrapping underlying DB related errors</dd>
</dl>
</li>
</ul>
<a name="getSourceAttributeBySourceId-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSourceAttributeBySourceId</h4>
<pre>public&nbsp;java.lang.String&nbsp;getSourceAttributeBySourceId(java.lang.String&nbsp;sourceId,
java.lang.String&nbsp;attributeName)
throws GeneralException</pre>
<div class="block">Get a single Source string attribute from an Application using the applicationId</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sourceId</code> - The id of the source</dd>
<dd><code>attributeName</code> - The name/key of the attribute to return</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The value if found in the attributes</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code> - wrapping underlying DB related errors</dd>
</dl>
</li>
</ul>
<a name="getSourceAttributeBySourceName-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSourceAttributeBySourceName</h4>
<pre>public&nbsp;java.lang.String&nbsp;getSourceAttributeBySourceName(java.lang.String&nbsp;sourceName,
java.lang.String&nbsp;attributeName)
throws GeneralException</pre>
<div class="block">Get a single Source string attribute from an Application using the applicationId</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sourceName</code> - (internal name i.e. application.getName() vs displayName of the application</dd>
<dd><code>attributeName</code> - The name/key of the attribute to return</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The value if found in the attributes</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>GeneralException</code> - wrapping underlying DB related errors</dd>
</dl>
</li>
</ul>
<a name="isUniqueLDAPValue-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUniqueLDAPValue</h4>
<pre>public&nbsp;boolean&nbsp;isUniqueLDAPValue(java.lang.String&nbsp;identityNameOrId,
java.lang.String&nbsp;applicationNameOrId,
java.lang.String&nbsp;attributeName,
java.lang.String&nbsp;attributeValue)</pre>
<div class="block">A method that can be used to call LDAP type connectors to look for
unique values. The connector is called with a specific search filter
based on the attributeName and value that is passed into this method.
If there is a value returned the values is considered to be non-unique.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>identityNameOrId</code> - The name or ID of the identity we are using</dd>
<dd><code>applicationNameOrId</code> - The name or ID of the source we are targeting</dd>
<dd><code>attributeName</code> - The name of the attribute we want to validate</dd>
<dd><code>attributeValue</code> - The value of the attribute we want to validate</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the value is unique AND false otherwise. If the application or identity can't be found an
IllegalStateException will be thrown.</dd>
</dl>
</li>
</ul>
<a name="getLDAPConnectorService--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLDAPConnectorService</h4>
<pre>protected&nbsp;LDAPConnectorServiceResolver&nbsp;getLDAPConnectorService()</pre>
<div class="block">Method is separate from main code to allow me to mock out the connector interaction as part of
an integration test.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An instance of the LDAPConnectorServiceResolver which will be plugged into the system on the
mantis platform size.</dd>
</dl>
</li>
</ul>
<a name="isUniqueAccountId-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUniqueAccountId</h4>
<pre>public&nbsp;boolean&nbsp;isUniqueAccountId(java.lang.String&nbsp;identityNameOrId,
java.lang.String&nbsp;applicationNameOrId,
java.lang.String&nbsp;accountId)</pre>
<div class="block">A method that will call getObject() on the connector for the Account type
and test if an account with the given accountId exists. If the account exists the method
will return false, otherwise true.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>identityNameOrId</code> - The name or ID of the identity we are using</dd>
<dd><code>applicationNameOrId</code> - The name or ID of the source we are targeting</dd>
<dd><code>accountId</code> - The accountId we are trying to validate</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the account is unique, false otherwise</dd>
</dl>
</li>
</ul>
<a name="getConnectorService--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnectorService</h4>
<pre>protected&nbsp;ConnectorServiceResolver&nbsp;getConnectorService()</pre>
<div class="block">Method is separate from main code to allow me to mock out the connector interaction as part of
an integration test.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An instance of the ConnectorServiceResolver which will be plugged into the system on the
mantis platform size.</dd>
</dl>
</li>
</ul>
<a name="otoa-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>otoa</h4>
<pre>public&nbsp;java.lang.String&nbsp;otoa(java.lang.Object&nbsp;object)</pre>
<div class="block">Convert object to a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - object to convert</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String value for non null objects, null otherwise</dd>
</dl>
</li>
</ul>
<a name="otob-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>otob</h4>
<pre>public static&nbsp;boolean&nbsp;otob(java.lang.Object&nbsp;object)</pre>
<div class="block">Convert object to a boolean.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - object to convert</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns true if object is found true value or the String value "true" (ignoring case).</dd>
</dl>
</li>
</ul>
<a name="asList-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>asList</h4>
<pre>public static&nbsp;java.util.List&nbsp;asList(java.lang.Object&nbsp;object)</pre>
<div class="block">Return a List with the given object. If the object is a List, it is
returned. If the object is a collection, a List with all of the elements
of the collection is returned. If the object is a non-collection, a new
List containing the given object is returned. If the object is null,
null is returned.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - The object to return as a list.</dd>
</dl>
</li>
</ul>
<a name="nullSafeEq-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullSafeEq</h4>
<pre>public static&nbsp;boolean&nbsp;nullSafeEq(java.lang.Object&nbsp;o1,
java.lang.Object&nbsp;o2)</pre>
<div class="block">This method performs a null-safe equality comparison between the two
given objects. If both objects are null, this returns false.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>o1</code> - The first object to compare.</dd>
<dd><code>o2</code> - The second object to compare.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if both objects are non-null and equal.</dd>
</dl>
</li>
</ul>
<a name="nullSafeEq-java.lang.Object-java.lang.Object-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullSafeEq</h4>
<pre>public static&nbsp;boolean&nbsp;nullSafeEq(java.lang.Object&nbsp;o1,
java.lang.Object&nbsp;o2,
boolean&nbsp;nullsEq)</pre>
<div class="block">This method performs a null-safe equality comparison between the two
given objects. This will return true if both objects are null and
nullsEq is true. Empty or "null" strings will be converted to null
before checking if emptyStringToNull is true.</div>
</li>
</ul>
<a name="nullSafeCaseInsensitiveEq-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullSafeCaseInsensitiveEq</h4>
<pre>public static&nbsp;boolean&nbsp;nullSafeCaseInsensitiveEq(java.lang.String&nbsp;o1,
java.lang.String&nbsp;o2)</pre>
<div class="block">This method performs a null-safe equality comparison between the two strings.
This will return true if both objects are null and nullsEq is true.
Empty or "null" strings will be converted to null before checking if emptyStringToNull is true.</div>
</li>
</ul>
<a name="nullSafeCompareTo-java.lang.Comparable-java.lang.Comparable-">
<!-- -->
</a><a name="nullSafeCompareTo-T-T-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullSafeCompareTo</h4>
<pre>public static&nbsp;&lt;T extends java.lang.Comparable&gt;&nbsp;int&nbsp;nullSafeCompareTo(T&nbsp;o1,
T&nbsp;o2)</pre>
<div class="block">Return the compareTo() value for two objects that may be null. Nulls
are considered equal, and null is greater than non-null.</div>
</li>
</ul>
<a name="dateToString-java.util.Date-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dateToString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;dateToString(java.util.Date&nbsp;src,
java.lang.String&nbsp;format)</pre>
<div class="block">Format a Date value as a String, using the JVMs default
timezone.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>src</code> - The source String</dd>
<dd><code>format</code> - The date format to apply</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The formatted date in String format specified</dd>
</dl>
</li>
</ul>
<a name="dateToString-java.util.Date-java.lang.String-java.util.TimeZone-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>dateToString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;dateToString(java.util.Date&nbsp;src,
java.lang.String&nbsp;format,
java.util.TimeZone&nbsp;tz)</pre>
<div class="block">Format a Date value as a String, using the JVMs default
timezone.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>src</code> - The source String</dd>
<dd><code>format</code> - The date format to apply</dd>
<dd><code>tz</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The formatted date in String format specified</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= 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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-files/index-1.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
</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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>