Files
developer.sailpoint.com/static/rule-java-docs/sailpoint/tools/Util.html
2023-05-03 23:14:09 -04:00

3946 lines
168 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 Wed Sep 21 11:32:21 EDT 2022 -->
<title>Util</title>
<meta name="date" content="2022-09-21">
<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="Util";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9,"i39":9,"i40":9,"i41":9,"i42":9,"i43":9,"i44":9,"i45":9,"i46":9,"i47":9,"i48":9,"i49":9,"i50":9,"i51":9,"i52":9,"i53":9,"i54":9,"i55":9,"i56":9,"i57":9,"i58":9,"i59":9,"i60":9,"i61":9,"i62":9,"i63":9,"i64":9,"i65":9,"i66":9,"i67":9,"i68":9,"i69":9,"i70":9,"i71":9,"i72":9,"i73":9,"i74":9,"i75":9,"i76":9,"i77":9,"i78":9,"i79":9,"i80":9,"i81":9,"i82":9,"i83":9,"i84":9,"i85":9,"i86":9,"i87":9,"i88":9,"i89":9,"i90":9,"i91":9,"i92":9,"i93":9,"i94":9,"i95":9,"i96":9,"i97":9,"i98":9,"i99":9,"i100":9,"i101":9,"i102":9,"i103":9,"i104":9,"i105":9,"i106":9,"i107":9,"i108":9,"i109":9,"i110":9,"i111":9,"i112":9,"i113":9,"i114":9,"i115":9,"i116":9,"i117":9,"i118":9,"i119":9,"i120":9,"i121":9,"i122":9,"i123":9,"i124":9,"i125":9,"i126":9,"i127":9,"i128":9,"i129":9,"i130":9,"i131":9,"i132":9,"i133":9,"i134":9,"i135":9,"i136":9,"i137":9,"i138":9,"i139":9,"i140":9,"i141":9,"i142":9,"i143":9,"i144":9,"i145":9,"i146":9,"i147":9,"i148":9,"i149":9,"i150":9,"i151":9,"i152":9,"i153":9,"i154":9,"i155":9,"i156":9,"i157":9,"i158":9,"i159":9,"i160":9,"i161":9,"i162":9,"i163":9,"i164":9,"i165":9,"i166":9,"i167":9,"i168":9,"i169":9,"i170":9,"i171":9,"i172":9,"i173":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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><a href="../../sailpoint/tools/Message.html" title="interface in sailpoint.tools"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../sailpoint/tools/Util.IConverter.html" title="interface in sailpoint.tools"><span class="typeNameLink">Next&nbsp;Class</span></a></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><a href="#nested.class.summary">Nested</a>&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 name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">sailpoint.tools</div>
<h2 title="Class Util" class="title">Class Util</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>sailpoint.tools.Util</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">Util</span>
extends java.lang.Object</pre>
<div class="block">Various utilities.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.IConverter.html" title="interface in sailpoint.tools">Util.IConverter</a>&lt;<a href="../../sailpoint/tools/Util.IConverter.html" title="type parameter in Util.IConverter">T1</a>,<a href="../../sailpoint/tools/Util.IConverter.html" title="type parameter in Util.IConverter">T2</a>&gt;</span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.IMatcher.html" title="interface in sailpoint.tools">Util.IMatcher</a>&lt;<a href="../../sailpoint/tools/Util.IMatcher.html" title="type parameter in Util.IMatcher">T</a>&gt;</span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.ListElementWrapper.html" title="interface in sailpoint.tools">Util.ListElementWrapper</a>&lt;<a href="../../sailpoint/tools/Util.ListElementWrapper.html" title="type parameter in Util.ListElementWrapper">T</a>&gt;</span></code>
<div class="block">A ListElementWrapper is responsible for wrapping (or transforming) each
element of a List when the element is retrieved from the list.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.ListFilter.html" title="interface in sailpoint.tools">Util.ListFilter</a>&lt;<a href="../../sailpoint/tools/Util.ListFilter.html" title="type parameter in Util.ListFilter">T</a>&gt;</span></code>
<div class="block">Interface that is used with filter(List<T>, ListFilter<T>) to specify
which elements should not be included in the filtered list.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.ParseException.html" title="class in sailpoint.tools">Util.ParseException</a></span></code>
<div class="block">A runtime exception that is thrown when decoding fails.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== 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/tools/Util.html#APPLICATION_HOME">APPLICATION_HOME</a></span></code>
<div class="block">The system property that indicates our "home" directory.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#MILLI_IN_DAY">MILLI_IN_DAY</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#MILLI_IN_HOUR">MILLI_IN_HOUR</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#MILLI_IN_MINUTE">MILLI_IN_MINUTE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#MILLI_IN_MONTH">MILLI_IN_MONTH</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#MILLI_IN_SECOND">MILLI_IN_SECOND</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#MILLI_IN_WEEK">MILLI_IN_WEEK</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#MILLI_IN_YEAR">MILLI_IN_YEAR</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#MILLIS_PER_DAY">MILLIS_PER_DAY</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#Util--">Util</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="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>static &lt;T&gt;&nbsp;java.util.List&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#arrayToList-T:A-">arrayToList</a></span>(T[]&nbsp;array)</code>
<div class="block">Given an array, returns a list.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static java.util.List</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#asList-java.lang.Object-">asList</a></span>(java.lang.Object&nbsp;o)</code>
<div class="block">Return a List with the given object.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#atob-java.lang.String-">atob</a></span>(java.lang.String&nbsp;a)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#atof-java.lang.String-">atof</a></span>(java.lang.String&nbsp;a)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#atoi-java.lang.String-">atoi</a></span>(java.lang.String&nbsp;a)</code>
<div class="block">Convert a String value into a primitive integer value.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#atoi-java.lang.String-int-">atoi</a></span>(java.lang.String&nbsp;a,
int&nbsp;def)</code>
<div class="block">Convert a String value into a primitive integer value.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#atol-java.lang.String-">atol</a></span>(java.lang.String&nbsp;a)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static java.util.Date</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#baselineDate-java.util.Date-">baselineDate</a></span>(java.util.Date&nbsp;src)</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static java.util.Date</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#baselineDate-java.util.Date-java.util.TimeZone-">baselineDate</a></span>(java.util.Date&nbsp;src,
java.util.TimeZone&nbsp;timeZone)</code>
<div class="block">Get the baseline date for the source date.</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/tools/Util.html#bytesToString-byte:A-">bytesToString</a></span>(byte[]&nbsp;bytes)</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#capitalize-java.lang.String-">capitalize</a></span>(java.lang.String&nbsp;str)</code>
<div class="block">Capitalizes the first letter in the given String
Example: hElLo becomes HElLo</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#capitalizeAndNormalize-java.lang.String-">capitalizeAndNormalize</a></span>(java.lang.String&nbsp;str)</code>
<div class="block">Capitalizes the first letter in the given String and lowercases
the rest of the String
Example: hElLo becomes Hello</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#caseInsensitiveKeyValue-java.util.Map-java.lang.String-">caseInsensitiveKeyValue</a></span>(java.util.Map&lt;java.lang.String,T&gt;&nbsp;map,
java.lang.String&nbsp;key)</code>
<div class="block">Will search for the key in a case insensitive fashion.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#compressWhiteSpace-java.lang.String-">compressWhiteSpace</a></span>(java.lang.String&nbsp;str)</code>
<div class="block">This method strips leading and trailing whitespace and guarantees that there is
at most one space between characters in the output.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#computeDifference-java.util.Date-java.util.Date-">computeDifference</a></span>(java.util.Date&nbsp;start,
java.util.Date&nbsp;end)</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#computeDifferenceMilli-java.util.Date-java.util.Date-">computeDifferenceMilli</a></span>(java.util.Date&nbsp;start,
java.util.Date&nbsp;end)</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#containsAny-java.util.Collection-java.util.Collection-">containsAny</a></span>(java.util.Collection&nbsp;c1,
java.util.Collection&nbsp;c2)</code>
<div class="block">Return whether c1 contains any elements found in c2.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;? super T&gt;&gt;<br>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#containsComparable-java.util.List-T-boolean-">containsComparable</a></span>(java.util.List&lt;T&gt;&nbsp;list,
T&nbsp;toFind,
boolean&nbsp;sorted)</code>
<div class="block">Return whether the given list of comparable items contains the give item
according to the Comparable interface.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>static &lt;T1,T2&gt;&nbsp;java.util.List&lt;T2&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#convert-java.util.List-sailpoint.tools.Util.IConverter-">convert</a></span>(java.util.List&lt;T1&gt;&nbsp;list1,
<a href="../../sailpoint/tools/Util.IConverter.html" title="interface in sailpoint.tools">Util.IConverter</a>&lt;T1,T2&gt;&nbsp;converter)</code>
<div class="block">Converts a list of one type into another, IConverter defines the function
that is used for the conversion</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#copyFile-java.lang.String-java.lang.String-">copyFile</a></span>(java.lang.String&nbsp;src,
java.lang.String&nbsp;dest)</code>
<div class="block">Copies one file to another.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#countChars-java.lang.String-char-">countChars</a></span>(java.lang.String&nbsp;sourceString,
char&nbsp;lookFor)</code>
<div class="block">Look through a source string looking for the number
of occurrences of a given character.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#createObjectByClassName-java.lang.String-">createObjectByClassName</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Create a new instance of an object by classname.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>static java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#csvToArray-java.lang.String-">csvToArray</a></span>(java.lang.String&nbsp;src)</code>&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#csvToList-java.lang.String-">csvToList</a></span>(java.lang.String&nbsp;src)</code>
<div class="block">Convert a comma delimited string into a List of strings.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>static java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#csvToList-java.lang.String-boolean-">csvToList</a></span>(java.lang.String&nbsp;src,
boolean&nbsp;filterEmpty)</code>&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>static java.util.Set&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#csvToSet-java.lang.String-boolean-">csvToSet</a></span>(java.lang.String&nbsp;src,
boolean&nbsp;filterEmpty)</code>&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>static java.util.Date</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#dateBetween-java.util.Date-java.util.Date-">dateBetween</a></span>(java.util.Date&nbsp;startDate,
java.util.Date&nbsp;endDate)</code>&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#dateToString-java.util.Date-">dateToString</a></span>(java.util.Date&nbsp;src)</code>
<div class="block">Format a Date value as a String, using the usual "American"
format with the current time zone.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#dateToString-java.util.Date-java.lang.Integer-java.lang.Integer-">dateToString</a></span>(java.util.Date&nbsp;src,
java.lang.Integer&nbsp;dateFormat,
java.lang.Integer&nbsp;timeFormat)</code>&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#dateToString-java.util.Date-java.lang.Integer-java.lang.Integer-java.util.TimeZone-java.util.Locale-">dateToString</a></span>(java.util.Date&nbsp;src,
java.lang.Integer&nbsp;dateFormat,
java.lang.Integer&nbsp;timeFormat,
java.util.TimeZone&nbsp;timeZone,
java.util.Locale&nbsp;locale)</code>&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#dateToString-java.util.Date-java.lang.String-">dateToString</a></span>(java.util.Date&nbsp;src,
java.lang.String&nbsp;format)</code>&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.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>&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#decodeJavaIdentifier-java.lang.String-">decodeJavaIdentifier</a></span>(java.lang.String&nbsp;s)</code>
<div class="block">Decode the given encoded java identifier to remove any encoded invalid
characters and replace them with their original values.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#deleteWhitespace-java.lang.String-">deleteWhitespace</a></span>(java.lang.String&nbsp;src)</code>
<div class="block">Deletes any whitespace from the string</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>static java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#delimToList-java.lang.String-java.lang.String-boolean-">delimToList</a></span>(java.lang.String&nbsp;delim,
java.lang.String&nbsp;src,
boolean&nbsp;filterEmpty)</code>&nbsp;</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#dottedQuadToLong-java.lang.String-">dottedQuadToLong</a></span>(java.lang.String&nbsp;ipaddr)</code>&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#dumpProperties--">dumpProperties</a></span>()</code>
<div class="block">Prints the current system properties to the system output device.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#dumpProperties-java.io.PrintWriter-">dumpProperties</a></span>(java.io.PrintWriter&nbsp;out)</code>
<div class="block">Prints the current system properties to a writer object.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#encodeJavaIdentifier-java.lang.String-">encodeJavaIdentifier</a></span>(java.lang.String&nbsp;s)</code>
<div class="block">Encode the given string into a valid java identifier (for example - does not start
with a number, does not include spaces, commas, etc...) by replacing any
invalid characters with the ASCII code of the character surrounded by
double underscores.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#escapeHTMLNewlines-java.lang.String-">escapeHTMLNewlines</a></span>(java.lang.String&nbsp;src)</code>
<div class="block">Escape newlines from the string into the HTML escaped newline and
carriage return.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#escapeNewlines-java.lang.String-">escapeNewlines</a></span>(java.lang.String&nbsp;src)</code>
<div class="block">Process a string to escape newline characters.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#escapeNewlines-java.lang.String-java.lang.String-java.lang.String-">escapeNewlines</a></span>(java.lang.String&nbsp;src,
java.lang.String&nbsp;nRepl,
java.lang.String&nbsp;rRepl)</code>
<div class="block">Process a string to escape newline characters.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#expandVariables-java.lang.String-java.util.Map-">expandVariables</a></span>(java.lang.String&nbsp;src,
java.util.Map&lt;java.lang.String,java.lang.Object&gt;&nbsp;variables)</code>
<div class="block">Process a string which may contain references to variables
and substitute the values of those variables.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;java.util.List&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#filter-java.util.List-sailpoint.tools.Util.ListFilter-">filter</a></span>(java.util.List&lt;T&gt;&nbsp;list,
<a href="../../sailpoint/tools/Util.ListFilter.html" title="interface in sailpoint.tools">Util.ListFilter</a>&lt;T&gt;&nbsp;filter)</code>
<div class="block">Return a filtered copy of the given list with any elements that match
the given ListFilter not included.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;java.util.List&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#filterNulls-java.util.List-">filterNulls</a></span>(java.util.List&lt;T&gt;&nbsp;src)</code>
<div class="block">Remove nulls from a list.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#find-java.util.List-T-java.util.Comparator-">find</a></span>(java.util.List&lt;T&gt;&nbsp;list,
T&nbsp;t,
java.util.Comparator&lt;T&gt;&nbsp;comparator)</code>
<div class="block">Find the requested object in the given list using the given comparator.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#find-java.util.List-sailpoint.tools.Util.IMatcher-">find</a></span>(java.util.List&lt;T&gt;&nbsp;values,
<a href="../../sailpoint/tools/Util.IMatcher.html" title="interface in sailpoint.tools">Util.IMatcher</a>&lt;T&gt;&nbsp;matcher)</code>
<div class="block">Looks through the list and returns an item
which matches the IMatcher interface.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;? super T&gt;&gt;<br>T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#findComparable-java.util.List-T-boolean-">findComparable</a></span>(java.util.List&lt;T&gt;&nbsp;list,
T&nbsp;toFind,
boolean&nbsp;sorted)</code>
<div class="block">Return a matching object from the given list.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#findFile-java.lang.String-">findFile</a></span>(java.lang.String&nbsp;name)</code>&nbsp;</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#findFile-java.lang.String-java.lang.String-">findFile</a></span>(java.lang.String&nbsp;property,
java.lang.String&nbsp;name)</code>&nbsp;</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#findFile-java.lang.String-java.lang.String-boolean-">findFile</a></span>(java.lang.String&nbsp;property,
java.lang.String&nbsp;name,
boolean&nbsp;searchClasspath)</code>
<div class="block">Attempt to derive the absolute path of a file.</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#findOutputFile-java.lang.String-">findOutputFile</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Build an absolute path name for a file.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#flushIterator-java.util.Iterator-">flushIterator</a></span>(java.util.Iterator&nbsp;i)</code>
<div class="block">Exhaust the remainder of the iterator so that Hibernate will properly
close the cursor associated with it.</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#ftoa-float-">ftoa</a></span>(float&nbsp;i)</code>&nbsp;</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#get-java.util.Map-java.lang.String-">get</a></span>(java.util.Map&nbsp;map,
java.lang.String&nbsp;name)</code>&nbsp;</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getApplicationHome--">getApplicationHome</a></span>()</code>
<div class="block">Returns the filesystem path for the application home.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>static java.util.Date</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getBeginningOfDay-java.util.Date-">getBeginningOfDay</a></span>(java.util.Date&nbsp;day)</code>&nbsp;</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getBoolean-java.util.Map-java.lang.String-">getBoolean</a></span>(java.util.Map&nbsp;map,
java.lang.String&nbsp;name)</code>&nbsp;</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getClasspathDirectory-int-">getClasspathDirectory</a></span>(int&nbsp;idx)</code>
<div class="block">Return the nth item on the CLASSPATH.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>static java.util.Date</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getDate-java.util.Map-java.lang.String-">getDate</a></span>(java.util.Map&nbsp;map,
java.lang.String&nbsp;name)</code>&nbsp;</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>static java.util.Date</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getDate-java.lang.Object-">getDate</a></span>(java.lang.Object&nbsp;o)</code>
<div class="block">Try to derive a Date from a random object.</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getDaysDifference-java.util.Date-java.util.Date-">getDaysDifference</a></span>(java.util.Date&nbsp;d1,
java.util.Date&nbsp;d2)</code>
<div class="block">Return the number of days difference between the two given dates.</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>static java.util.Date</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getEndOfDay-java.util.Date-">getEndOfDay</a></span>(java.util.Date&nbsp;day)</code>&nbsp;</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getFullname-java.lang.String-java.lang.String-">getFullname</a></span>(java.lang.String&nbsp;first,
java.lang.String&nbsp;last)</code>
<div class="block">Return a fullname constructed from the given first and last names.</div>
</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getHostName--">getHostName</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>static java.util.ResourceBundle</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getIIQHelpMessages-java.util.Locale-">getIIQHelpMessages</a></span>(java.util.Locale&nbsp;locale)</code>&nbsp;</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>static java.util.ResourceBundle</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getIIQMessages-java.util.Locale-">getIIQMessages</a></span>(java.util.Locale&nbsp;locale)</code>&nbsp;</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getInt-java.util.Map-java.lang.String-">getInt</a></span>(java.util.Map&nbsp;map,
java.lang.String&nbsp;name)</code>&nbsp;</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getJsonSafeKey-java.lang.String-">getJsonSafeKey</a></span>(java.lang.String&nbsp;key)</code>
<div class="block">cannot have '.' in json key names change them to '-'</div>
</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getKeyFromJsonSafeKey-java.lang.String-">getKeyFromJsonSafeKey</a></span>(java.lang.String&nbsp;jsonSafeKey)</code>
<div class="block">Does the opposite of @link {getJsonSafeKey}</div>
</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getLongDifference-java.util.Date-java.util.Date-">getLongDifference</a></span>(java.util.Date&nbsp;d1,
java.util.Date&nbsp;d2)</code>&nbsp;</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getMachineUser--">getMachineUser</a></span>()</code>
<div class="block">Get the name of the user that is logged in to the host machine.</div>
</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getMemoryStats--">getMemoryStats</a></span>()</code>
<div class="block">Return a String that contains the free, allocated, max and totalFree (free+(max-allocated))</div>
</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getMessage-java.util.ResourceBundle-java.lang.String-">getMessage</a></span>(java.util.ResourceBundle&nbsp;bundle,
java.lang.String&nbsp;keyName)</code>
<div class="block">Wrap ResourceBundle.getString() so it does not throw an exception if the
key cannot be found.</div>
</td>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getMessage-java.util.ResourceBundle-java.lang.String-boolean-">getMessage</a></span>(java.util.ResourceBundle&nbsp;bundle,
java.lang.String&nbsp;keyName,
boolean&nbsp;returnKey)</code>&nbsp;</td>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getPercentage-int-int-">getPercentage</a></span>(int&nbsp;x,
int&nbsp;y)</code>
<div class="block">Returns percentage given two numbers.</div>
</td>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><code>static java.util.ResourceBundle</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getResourceBundle-java.lang.String-java.util.Locale-">getResourceBundle</a></span>(java.lang.String&nbsp;bundleBaseName,
java.util.Locale&nbsp;locale)</code>
<div class="block">Wrap ResourceBundle.getBundle() so it does not throw an exception of the
bundle cannot be found.</div>
</td>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getResourcePath-java.lang.String-">getResourcePath</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Attempts to determine the absolute pathname of a resource file.</div>
</td>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getString-java.util.Map-java.lang.String-">getString</a></span>(java.util.Map&nbsp;map,
java.lang.String&nbsp;name)</code>
<div class="block">Return a map value as a string.</div>
</td>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#getString-java.lang.String-">getString</a></span>(java.lang.String&nbsp;s)</code>
<div class="block">Return the given String or null (if the given String is null or
zero-length).</div>
</td>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><code>static java.util.HashMap</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#hashtableToMap-java.util.Hashtable-">hashtableToMap</a></span>(java.util.Hashtable&nbsp;hash)</code>
<div class="block">Convert a Hashtable into a HashMap.</div>
</td>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#htmlify-java.lang.String-">htmlify</a></span>(java.lang.String&nbsp;src)</code>
<div class="block">Take a string that can contain formatting characters typical
for hand-edited XML and simplify it for rendering as HTML
or within an Ext component.</div>
</td>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><code>static java.util.Date</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#incrementDateByDays-java.util.Date-long-">incrementDateByDays</a></span>(java.util.Date&nbsp;date,
long&nbsp;duration)</code>&nbsp;</td>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><code>static java.util.Date</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#incrementDateByMinutes-java.util.Date-int-">incrementDateByMinutes</a></span>(java.util.Date&nbsp;date,
int&nbsp;minutes)</code>&nbsp;</td>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><code>static java.util.Date</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#incrementDateBySeconds-java.util.Date-int-">incrementDateBySeconds</a></span>(java.util.Date&nbsp;date,
int&nbsp;seconds)</code>&nbsp;</td>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isAlreadyExistsException-java.lang.Throwable-">isAlreadyExistsException</a></span>(java.lang.Throwable&nbsp;t)</code>
<div class="block">Return true if the exception means that an attempt was made
to save an object with a name that was already in use.</div>
</td>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isAnyNullOrEmpty-java.lang.String...-">isAnyNullOrEmpty</a></span>(java.lang.String...&nbsp;vals)</code>&nbsp;</td>
</tr>
<tr id="i87" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isDateAfter-java.util.Date-java.util.Date-">isDateAfter</a></span>(java.util.Date&nbsp;testDate,
java.util.Date&nbsp;startDate)</code>
<div class="block">Determine whether the testDate is greater than or equal to the startDate</div>
</td>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isDateAfterToday-java.util.Date-">isDateAfterToday</a></span>(java.util.Date&nbsp;date)</code>&nbsp;</td>
</tr>
<tr id="i89" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isEmpty-java.util.Collection-">isEmpty</a></span>(java.util.Collection&nbsp;collection)</code>&nbsp;</td>
</tr>
<tr id="i90" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isEmpty-java.util.Iterator-">isEmpty</a></span>(java.util.Iterator&nbsp;i)</code>
<div class="block">Return true if the specified Iterator is empty.</div>
</td>
</tr>
<tr id="i91" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isEmpty-java.util.Map-">isEmpty</a></span>(java.util.Map&nbsp;map)</code>&nbsp;</td>
</tr>
<tr id="i92" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isEmpty-java.lang.String-">isEmpty</a></span>(java.lang.String&nbsp;csv)</code>&nbsp;</td>
</tr>
<tr id="i93" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isFirstElement-java.lang.Object-java.lang.Iterable-">isFirstElement</a></span>(java.lang.Object&nbsp;o,
java.lang.Iterable&nbsp;i)</code>
<div class="block">Return true if the given object is the first element of the given
Iterable.</div>
</td>
</tr>
<tr id="i94" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isInt-java.lang.String-">isInt</a></span>(java.lang.String&nbsp;str)</code>&nbsp;</td>
</tr>
<tr id="i95" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isLastElement-java.lang.Object-java.lang.Iterable-">isLastElement</a></span>(java.lang.Object&nbsp;o,
java.lang.Iterable&nbsp;i)</code>&nbsp;</td>
</tr>
<tr id="i96" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isNothing-java.lang.String-">isNothing</a></span>(java.lang.String&nbsp;str)</code>&nbsp;</td>
</tr>
<tr id="i97" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isNotNullOrEmpty-java.lang.String-">isNotNullOrEmpty</a></span>(java.lang.String&nbsp;str)</code>
<div class="block">Negative of isNullOrEmpty
Its simply there for easier to read code.</div>
</td>
</tr>
<tr id="i98" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isNullOrEmpty-java.lang.String-">isNullOrEmpty</a></span>(java.lang.String&nbsp;str)</code>&nbsp;</td>
</tr>
<tr id="i99" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#isWindows--">isWindows</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i100" class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;java.lang.Iterable&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#iterate-java.lang.Iterable-">iterate</a></span>(java.lang.Iterable&lt;T&gt;&nbsp;iterable)</code>
<div class="block">Alternate name that's easier to remember.</div>
</td>
</tr>
<tr id="i101" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;java.util.List&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#iteratorToList-java.util.Iterator-">iteratorToList</a></span>(java.util.Iterator&lt;T&gt;&nbsp;iterator)</code>
<div class="block">Return a List with the elements returned by the given iterator.</div>
</td>
</tr>
<tr id="i102" class="altColor">
<td class="colFirst"><code>static java.util.List&lt;java.util.Map&lt;java.lang.String,java.lang.Object&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#iteratorToMaps-java.util.Iterator-java.lang.String...-">iteratorToMaps</a></span>(java.util.Iterator&lt;java.lang.Object[]&gt;&nbsp;iterator,
java.lang.String...&nbsp;keys)</code>
<div class="block">Return a List of maps that have the object arrays in the given iterator
keyed by the given list of keys.</div>
</td>
</tr>
<tr id="i103" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#itoa-int-">itoa</a></span>(int&nbsp;i)</code>
<div class="block">Convert an primitive integer value into a String.</div>
</td>
</tr>
<tr id="i104" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#join-java.util.Collection-java.lang.String-">join</a></span>(java.util.Collection&nbsp;c,
java.lang.String&nbsp;delimiter)</code>
<div class="block">Join the items in a collection into a String just as the Perl join
function does.</div>
</td>
</tr>
<tr id="i105" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#leftPadZeros-int-int-">leftPadZeros</a></span>(int&nbsp;toValue,
int&nbsp;padding)</code>
<div class="block">Takes an integer value and left pads it with 0s.</div>
</td>
</tr>
<tr id="i106" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#listToCsv-java.util.List-">listToCsv</a></span>(java.util.List&nbsp;list)</code>
<div class="block">Convert a list of strings into a comma delimited list.</div>
</td>
</tr>
<tr id="i107" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#listToCsv-java.util.List-boolean-">listToCsv</a></span>(java.util.List&nbsp;list,
boolean&nbsp;filterEmpty)</code>&nbsp;</td>
</tr>
<tr id="i108" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#listToPipeDelimited-java.util.List-">listToPipeDelimited</a></span>(java.util.List&nbsp;list)</code>
<div class="block">Return a pipe (|) delimited string with all values in the given list.</div>
</td>
</tr>
<tr id="i109" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#listToQuotedCsv-java.util.List-java.lang.Character-boolean-">listToQuotedCsv</a></span>(java.util.List&nbsp;list,
java.lang.Character&nbsp;quoteChar,
boolean&nbsp;filterEmpty)</code>
<div class="block">Convert a list of strings into a comma delimited list of Strings wrapped in the specified
type of quote.</div>
</td>
</tr>
<tr id="i110" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#listToQuotedCsv-java.util.List-java.lang.Character-boolean-boolean-">listToQuotedCsv</a></span>(java.util.List&nbsp;list,
java.lang.Character&nbsp;quoteChar,
boolean&nbsp;filterEmpty,
boolean&nbsp;conditionallyQuote)</code>
<div class="block">This is similar to listToQuoteCsv but allows the specification
of the conditionally quoted individual values in a csv that have
embedded commas.</div>
</td>
</tr>
<tr id="i111" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#listToRfc4180Csv-java.util.List-">listToRfc4180Csv</a></span>(java.util.List&lt;?&gt;&nbsp;list)</code>&nbsp;</td>
</tr>
<tr id="i112" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#longToDottedQuad-long-">longToDottedQuad</a></span>(long&nbsp;inaddr)</code>&nbsp;</td>
</tr>
<tr id="i113" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#ltoa-long-">ltoa</a></span>(long&nbsp;i)</code>&nbsp;</td>
</tr>
<tr id="i114" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</td>
</tr>
<tr id="i115" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;java.util.List&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#mapKeys-java.util.Map-">mapKeys</a></span>(java.util.Map&lt;T,?&gt;&nbsp;map)</code>
<div class="block">Return a list of the keys in a Map</div>
</td>
</tr>
<tr id="i116" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#mapToString-java.util.Map-">mapToString</a></span>(java.util.Map&nbsp;map)</code>
<div class="block">Convert the given Map to a String.</div>
</td>
</tr>
<tr id="i117" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#memoryFormat-long-">memoryFormat</a></span>(long&nbsp;size)</code>
<div class="block">Converts number of bytes to a human readable format.</div>
</td>
</tr>
<tr id="i118" class="altColor">
<td class="colFirst"><code>static long[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#mergeAndSortArrays-long:A-long:A-">mergeAndSortArrays</a></span>(long[]&nbsp;array1,
long[]&nbsp;array2)</code>
<div class="block">Merge the contents of two arrays of longs into a newly created sorted array</div>
</td>
</tr>
<tr id="i119" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#nullify-java.lang.Object-">nullify</a></span>(java.lang.Object&nbsp;obj)</code>
<div class="block">Collapse a value to null if it is logically null.</div>
</td>
</tr>
<tr id="i120" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#nullsafeBoolean-java.lang.Boolean-">nullsafeBoolean</a></span>(java.lang.Boolean&nbsp;val)</code>&nbsp;</td>
</tr>
<tr id="i121" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.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="i122" 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/tools/Util.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="i123" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#nullSafeContains-java.util.List-java.lang.Object-">nullSafeContains</a></span>(java.util.List&nbsp;list,
java.lang.Object&nbsp;o)</code>
<div class="block">Check a list for the given object, checking for
null on the list.</div>
</td>
</tr>
<tr id="i124" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#nullSafeContains-java.lang.String-java.lang.Object-">nullSafeContains</a></span>(java.lang.String&nbsp;csv,
java.lang.Object&nbsp;o)</code>
<div class="block">Check a csv-based list for the given object, checking for
null on the list.</div>
</td>
</tr>
<tr id="i125" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.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="i126" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.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="i127" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#nullSafeEq-java.lang.Object-java.lang.Object-boolean-boolean-">nullSafeEq</a></span>(java.lang.Object&nbsp;o1,
java.lang.Object&nbsp;o2,
boolean&nbsp;nullsEq,
boolean&nbsp;emptyStringToNull)</code>
<div class="block">This method performs a null-safe equality comparison between the two
given objects.</div>
</td>
</tr>
<tr id="i128" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#nullSafeHashCode-java.lang.Object-">nullSafeHashCode</a></span>(java.lang.Object&nbsp;o)</code>
<div class="block">Return the hashcode of the given object, or -1 if the given object is
null.</div>
</td>
</tr>
<tr id="i129" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#nullsafeLong-java.lang.Long-">nullsafeLong</a></span>(java.lang.Long&nbsp;val)</code>&nbsp;</td>
</tr>
<tr id="i130" class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#orderInsensitiveEquals-java.util.List-java.util.List-">orderInsensitiveEquals</a></span>(java.util.List&lt;T&gt;&nbsp;l1,
java.util.List&lt;T&gt;&nbsp;l2)</code>
<div class="block">Check if the two given Lists contain all of the same elements.</div>
</td>
</tr>
<tr id="i131" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#otoa-java.lang.Object-">otoa</a></span>(java.lang.Object&nbsp;o)</code>&nbsp;</td>
</tr>
<tr id="i132" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#otob-java.lang.Object-">otob</a></span>(java.lang.Object&nbsp;o)</code>&nbsp;</td>
</tr>
<tr id="i133" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#otoi-java.lang.Object-">otoi</a></span>(java.lang.Object&nbsp;o)</code>&nbsp;</td>
</tr>
<tr id="i134" class="altColor">
<td class="colFirst"><code>static java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#otol-java.lang.Object-">otol</a></span>(java.lang.Object&nbsp;o)</code>
<div class="block">Convert an object to a List of Strings.</div>
</td>
</tr>
<tr id="i135" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#otos-java.lang.Object-">otos</a></span>(java.lang.Object&nbsp;o)</code>
<div class="block">Convert an object to its string representation.</div>
</td>
</tr>
<tr id="i136" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#padID-java.lang.String-">padID</a></span>(java.lang.String&nbsp;strId)</code>&nbsp;</td>
</tr>
<tr id="i137" class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#rand-int-int-">rand</a></span>(int&nbsp;low,
int&nbsp;high)</code>
<div class="block">Generate a random number between a low a high value inclusive.</div>
</td>
</tr>
<tr id="i138" class="altColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#readBinaryFile-java.io.File-">readBinaryFile</a></span>(java.io.File&nbsp;f)</code>&nbsp;</td>
</tr>
<tr id="i139" class="rowColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#readBinaryFile-java.lang.String-">readBinaryFile</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Read the contents of a file and return it as a byte array.</div>
</td>
</tr>
<tr id="i140" class="altColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#readBinaryInputStream-java.io.InputStream-">readBinaryInputStream</a></span>(java.io.InputStream&nbsp;inputStream)</code>&nbsp;</td>
</tr>
<tr id="i141" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#readFile-java.io.File-">readFile</a></span>(java.io.File&nbsp;f)</code>&nbsp;</td>
</tr>
<tr id="i142" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#readFile-java.lang.String-">readFile</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Read the contents of a file and return it as a String.</div>
</td>
</tr>
<tr id="i143" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#readInputStream-java.io.InputStream-">readInputStream</a></span>(java.io.InputStream&nbsp;inputStream)</code>&nbsp;</td>
</tr>
<tr id="i144" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#readSerializedObject-byte:A-">readSerializedObject</a></span>(byte[]&nbsp;bytes)</code>
<div class="block">Reconstitute a serialized object from a byte array.</div>
</td>
</tr>
<tr id="i145" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#removeDuplicates-java.util.List-">removeDuplicates</a></span>(java.util.List&lt;T&gt;&nbsp;list)</code>&nbsp;</td>
</tr>
<tr id="i146" class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;java.lang.Iterable&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#safeIterable-java.lang.Iterable-">safeIterable</a></span>(java.lang.Iterable&lt;T&gt;&nbsp;iterable)</code>
<div class="block">Constructs a null-safe iterable for use with for-each loops to avoid null
checking.</div>
</td>
</tr>
<tr id="i147" class="rowColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#serializableObjectToBytes-java.lang.Object-">serializableObjectToBytes</a></span>(java.lang.Object&nbsp;toWrite)</code>
<div class="block">Convert a Serializable Object into a byte array.</div>
</td>
</tr>
<tr id="i148" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#setToCsv-java.util.Set-">setToCsv</a></span>(java.util.Set&lt;?&gt;&nbsp;set)</code>&nbsp;</td>
</tr>
<tr id="i149" class="rowColor">
<td class="colFirst"><code>static java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#shiftArray-java.lang.String:A-">shiftArray</a></span>(java.lang.String[]&nbsp;input)</code>
<div class="block">Return a copy of the array with the first element removed.</div>
</td>
</tr>
<tr id="i150" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#size-java.util.Collection-">size</a></span>(java.util.Collection&nbsp;c)</code>
<div class="block">Return the size of the given collection.</div>
</td>
</tr>
<tr id="i151" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#sleep-int-">sleep</a></span>(int&nbsp;millis)</code>
<div class="block">Pause for reflection, catching the usual silly exception.</div>
</td>
</tr>
<tr id="i152" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#smellsLikeMessageKey-java.lang.String-">smellsLikeMessageKey</a></span>(java.lang.String&nbsp;key)</code>
<div class="block">Does the given string look like a message key?</div>
</td>
</tr>
<tr id="i153" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#splitCamelCase-java.lang.String-">splitCamelCase</a></span>(java.lang.String&nbsp;str)</code>
<div class="block">Takes a camel case string, splits the words out of it
and capitalizes each one.</div>
</td>
</tr>
<tr id="i154" class="altColor">
<td class="colFirst"><code>static java.lang.StringBuffer</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#sprintf-java.lang.String-java.lang.String:A-">sprintf</a></span>(java.lang.String&nbsp;format,
java.lang.String[]&nbsp;args)</code>
<div class="block">A marginally functional attempt to provide "sprintf" in Java.</div>
</td>
</tr>
<tr id="i155" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#stackToString-java.lang.Throwable-">stackToString</a></span>(java.lang.Throwable&nbsp;th)</code>
<div class="block">Converts the stack trace of an exception to a String</div>
</td>
</tr>
<tr id="i156" class="altColor">
<td class="colFirst"><code>static java.util.Date</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#stringToDate-java.lang.String-">stringToDate</a></span>(java.lang.String&nbsp;src)</code>
<div class="block">Convert the string representation for a date into a Date object.</div>
</td>
</tr>
<tr id="i157" class="rowColor">
<td class="colFirst"><code>static java.util.List</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#stringToList-java.lang.String-">stringToList</a></span>(java.lang.String&nbsp;value)</code>
<div class="block">Note: Why don't we return List<String> here?
I have noticed that if I change it to List<String> some
classes depending on this break.</div>
</td>
</tr>
<tr id="i158" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#stringToMap-java.lang.String-">stringToMap</a></span>(java.lang.String&nbsp;value)</code>
<div class="block">Convert the string representation for a map into a Map object</div>
</td>
</tr>
<tr id="i159" class="rowColor">
<td class="colFirst"><code>static java.util.Date</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#stringToTime-java.lang.String-">stringToTime</a></span>(java.lang.String&nbsp;src)</code>
<div class="block">Convert the string representation for a date into a Date object.</div>
</td>
</tr>
<tr id="i160" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#stripLeadingChar-java.lang.String-char-">stripLeadingChar</a></span>(java.lang.String&nbsp;s,
char&nbsp;c)</code>
<div class="block">Strip all occurrences of the given character off the front of the
given string.</div>
</td>
</tr>
<tr id="i161" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#strstr-java.lang.String-java.lang.String-">strstr</a></span>(java.lang.String&nbsp;inString,
java.lang.String&nbsp;delimeter)</code>
<div class="block">Returns the last token in a string of tokens
separated by delimiter argument.</div>
</td>
</tr>
<tr id="i162" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#trimnull-java.lang.String-">trimnull</a></span>(java.lang.String&nbsp;str)</code>
<div class="block">Like nullify but we don't have to cast the return</div>
</td>
</tr>
<tr id="i163" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#trimWhitespace-java.lang.String-">trimWhitespace</a></span>(java.lang.String&nbsp;src)</code>
<div class="block">Trims trailing whitespace from a string.</div>
</td>
</tr>
<tr id="i164" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#truncate-java.lang.String-int-">truncate</a></span>(java.lang.String&nbsp;s,
int&nbsp;maxLength)</code>
<div class="block">Truncate the given string if it is longer than maxLength - if so, the
last 3 characters are replaced with an ellipsis (...).</div>
</td>
</tr>
<tr id="i165" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#truncatedJoin-java.util.Collection-java.lang.String-int-">truncatedJoin</a></span>(java.util.Collection&nbsp;c,
java.lang.String&nbsp;delimiter,
int&nbsp;maxChars)</code>
<div class="block">First joins the list of string values using the specified delimiter,
then truncates the resulting string to the specified character
maximum.</div>
</td>
</tr>
<tr id="i166" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#truncateFront-java.lang.String-int-">truncateFront</a></span>(java.lang.String&nbsp;s,
int&nbsp;maxLength)</code>
<div class="block">Similar to truncate(), but if truncation is necessary the beginning of
the string is trimmed rather than the end.</div>
</td>
</tr>
<tr id="i167" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#unxml-java.lang.String-">unxml</a></span>(java.lang.String&nbsp;src)</code>
<div class="block">Remove "xml garbage" from a string that might have started out
life in an XML element.</div>
</td>
</tr>
<tr id="i168" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#uuid--">uuid</a></span>()</code>
<div class="block">Generate a unique identifier.</div>
</td>
</tr>
<tr id="i169" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;java.util.List&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#wrappedList-java.util.List-sailpoint.tools.Util.ListElementWrapper-">wrappedList</a></span>(java.util.List&lt;T&gt;&nbsp;list,
<a href="../../sailpoint/tools/Util.ListElementWrapper.html" title="interface in sailpoint.tools">Util.ListElementWrapper</a>&lt;T&gt;&nbsp;wrapper)</code>
<div class="block">Returns a List backed by the given list that wraps each element that is
returned using the given wrapper.</div>
</td>
</tr>
<tr id="i170" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#writeFile-java.lang.String-byte:A-">writeFile</a></span>(java.lang.String&nbsp;name,
byte[]&nbsp;contents)</code>
<div class="block">Store the contents of a byte array to a file.</div>
</td>
</tr>
<tr id="i171" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#writeFile-java.lang.String-java.lang.String-">writeFile</a></span>(java.lang.String&nbsp;name,
java.lang.String&nbsp;contents)</code>
<div class="block">Store the contents of a String in a file.</div>
</td>
</tr>
<tr id="i172" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#writeTestFile-java.lang.String-byte:A-">writeTestFile</a></span>(java.lang.String&nbsp;name,
byte[]&nbsp;contents)</code>&nbsp;</td>
</tr>
<tr id="i173" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../sailpoint/tools/Util.html#writeTestFile-java.lang.String-java.lang.String-">writeTestFile</a></span>(java.lang.String&nbsp;name,
java.lang.String&nbsp;contents)</code>&nbsp;</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="MILLIS_PER_DAY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MILLIS_PER_DAY</h4>
<pre>public static final&nbsp;long MILLIS_PER_DAY</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#sailpoint.tools.Util.MILLIS_PER_DAY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MILLI_IN_SECOND">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MILLI_IN_SECOND</h4>
<pre>public static final&nbsp;long MILLI_IN_SECOND</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#sailpoint.tools.Util.MILLI_IN_SECOND">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MILLI_IN_MINUTE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MILLI_IN_MINUTE</h4>
<pre>public static final&nbsp;long MILLI_IN_MINUTE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#sailpoint.tools.Util.MILLI_IN_MINUTE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MILLI_IN_HOUR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MILLI_IN_HOUR</h4>
<pre>public static final&nbsp;long MILLI_IN_HOUR</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#sailpoint.tools.Util.MILLI_IN_HOUR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MILLI_IN_DAY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MILLI_IN_DAY</h4>
<pre>public static final&nbsp;long MILLI_IN_DAY</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#sailpoint.tools.Util.MILLI_IN_DAY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MILLI_IN_WEEK">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MILLI_IN_WEEK</h4>
<pre>public static final&nbsp;long MILLI_IN_WEEK</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#sailpoint.tools.Util.MILLI_IN_WEEK">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MILLI_IN_MONTH">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MILLI_IN_MONTH</h4>
<pre>public static final&nbsp;long MILLI_IN_MONTH</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#sailpoint.tools.Util.MILLI_IN_MONTH">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MILLI_IN_YEAR">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MILLI_IN_YEAR</h4>
<pre>public static final&nbsp;long MILLI_IN_YEAR</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#sailpoint.tools.Util.MILLI_IN_YEAR">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="APPLICATION_HOME">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>APPLICATION_HOME</h4>
<pre>public static final&nbsp;java.lang.String APPLICATION_HOME</pre>
<div class="block">The system property that indicates our "home" directory.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../constant-values.html#sailpoint.tools.Util.APPLICATION_HOME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="Util--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Util</h4>
<pre>public&nbsp;Util()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="sleep-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sleep</h4>
<pre>public static&nbsp;void&nbsp;sleep(int&nbsp;millis)</pre>
<div class="block">Pause for reflection, catching the usual silly exception.</div>
</li>
</ul>
<a name="leftPadZeros-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>leftPadZeros</h4>
<pre>public static&nbsp;java.lang.String&nbsp;leftPadZeros(int&nbsp;toValue,
int&nbsp;padding)</pre>
<div class="block">Takes an integer value and left pads it with 0s. Negative values will
have the negative marked at the beginning of the string, for example, -000001</div>
</li>
</ul>
<a name="uuid--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>uuid</h4>
<pre>public static&nbsp;java.lang.String&nbsp;uuid()</pre>
<div class="block">Generate a unique identifier.</div>
</li>
</ul>
<a name="getHostName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHostName</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getHostName()</pre>
</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.</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>
<dd><code>nullsEq</code> - Whether two null objects should be considered equal.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if both objects equal, or both objects are null and nullsEq
is true.</dd>
</dl>
</li>
</ul>
<a name="nullSafeEq-java.lang.Object-java.lang.Object-boolean-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,
boolean&nbsp;emptyStringToNull)</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="nullSafeHashCode-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullSafeHashCode</h4>
<pre>public static&nbsp;int&nbsp;nullSafeHashCode(java.lang.Object&nbsp;o)</pre>
<div class="block">Return the hashcode of the given object, or -1 if the given object is
null.</div>
</li>
</ul>
<a name="nullSafeContains-java.util.List-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullSafeContains</h4>
<pre>public static&nbsp;boolean&nbsp;nullSafeContains(java.util.List&nbsp;list,
java.lang.Object&nbsp;o)</pre>
<div class="block">Check a list for the given object, checking for
null on the list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>list</code> - </dd>
<dd><code>o</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if value is found in the list</dd>
</dl>
</li>
</ul>
<a name="nullSafeContains-java.lang.String-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullSafeContains</h4>
<pre>public static&nbsp;boolean&nbsp;nullSafeContains(java.lang.String&nbsp;csv,
java.lang.Object&nbsp;o)</pre>
<div class="block">Check a csv-based list for the given object, checking for
null on the list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>csv</code> - List of objects in CSV form</dd>
<dd><code>o</code> - Object to check for in the list</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if value is found in the list</dd>
</dl>
</li>
</ul>
<a name="rand-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rand</h4>
<pre>public static&nbsp;int&nbsp;rand(int&nbsp;low,
int&nbsp;high)</pre>
<div class="block">Generate a random number between a low a high value inclusive.</div>
</li>
</ul>
<a name="filterNulls-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filterNulls</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;java.util.List&lt;T&gt;&nbsp;filterNulls(java.util.List&lt;T&gt;&nbsp;src)</pre>
<div class="block">Remove nulls from a list.
Added as a temporary kludge for some obscure Hibernate crap
that adds phantom null's to Lists under some conditions.
Do not collapse empty lists to null, some object constructors
set the list before they begin populating it. This obviously
still has the potental for nulls, but at least Hibernate doesn't
appear to follow that pattern.</div>
</li>
</ul>
<a name="getJsonSafeKey-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJsonSafeKey</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getJsonSafeKey(java.lang.String&nbsp;key)</pre>
<div class="block">cannot have '.' in json key names change them to '-'</div>
</li>
</ul>
<a name="getKeyFromJsonSafeKey-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeyFromJsonSafeKey</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getKeyFromJsonSafeKey(java.lang.String&nbsp;jsonSafeKey)</pre>
<div class="block">Does the opposite of @link {getJsonSafeKey}</div>
</li>
</ul>
<a name="filter-java.util.List-sailpoint.tools.Util.ListFilter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filter</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;java.util.List&lt;T&gt;&nbsp;filter(java.util.List&lt;T&gt;&nbsp;list,
<a href="../../sailpoint/tools/Util.ListFilter.html" title="interface in sailpoint.tools">Util.ListFilter</a>&lt;T&gt;&nbsp;filter)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<div class="block">Return a filtered copy of the given list with any elements that match
the given ListFilter not included.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>list</code> - The List to filter.</dd>
<dd><code>filter</code> - The ListFilter to apply to each element to determine if
it should be in the copy or not.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A filtered copy of the given list with any elements that match
the given ListFilter not included.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="find-java.util.List-sailpoint.tools.Util.IMatcher-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>find</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;T&nbsp;find(java.util.List&lt;T&gt;&nbsp;values,
<a href="../../sailpoint/tools/Util.IMatcher.html" title="interface in sailpoint.tools">Util.IMatcher</a>&lt;T&gt;&nbsp;matcher)</pre>
<div class="block">Looks through the list and returns an item
which matches the IMatcher interface.</div>
</li>
</ul>
<a name="wrappedList-java.util.List-sailpoint.tools.Util.ListElementWrapper-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrappedList</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;java.util.List&lt;T&gt;&nbsp;wrappedList(java.util.List&lt;T&gt;&nbsp;list,
<a href="../../sailpoint/tools/Util.ListElementWrapper.html" title="interface in sailpoint.tools">Util.ListElementWrapper</a>&lt;T&gt;&nbsp;wrapper)</pre>
<div class="block">Returns a List backed by the given list that wraps each element that is
returned using the given wrapper. This original intent was to provide
lazy proxy replacement for list elements (for example - a proxy for each element
is returned instead of the actual element), but this could also be used
to transform the elements when they are read from the list. Passing in
a null list will return null.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>list</code> - The List to wrap.</dd>
<dd><code>wrapper</code> - The ListElementWrapper to use to wrap the elements when
retrieved from the list.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A List backed by the given list that wraps each element this is
returned using the given wrapper, or null if the given list is
null.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../sailpoint/tools/Util.ListElementWrapper.html" title="interface in sailpoint.tools"><code>Util.ListElementWrapper</code></a></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;o)</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>o</code> - The object to return as a list.</dd>
</dl>
</li>
</ul>
<a name="isFirstElement-java.lang.Object-java.lang.Iterable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isFirstElement</h4>
<pre>public static&nbsp;boolean&nbsp;isFirstElement(java.lang.Object&nbsp;o,
java.lang.Iterable&nbsp;i)</pre>
<div class="block">Return true if the given object is the first element of the given
Iterable.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>o</code> - The object to check as the first element.</dd>
<dd><code>i</code> - The Iterable to check.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the given object is the first element of the given
Iterable.</dd>
</dl>
</li>
</ul>
<a name="isLastElement-java.lang.Object-java.lang.Iterable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLastElement</h4>
<pre>public static&nbsp;boolean&nbsp;isLastElement(java.lang.Object&nbsp;o,
java.lang.Iterable&nbsp;i)</pre>
</li>
</ul>
<a name="isEmpty-java.util.Iterator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre>public static&nbsp;boolean&nbsp;isEmpty(java.util.Iterator&nbsp;i)</pre>
<div class="block">Return true if the specified Iterator is empty.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>i</code> - Iterator being checked</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true of the given Iterator is empty</dd>
</dl>
</li>
</ul>
<a name="flushIterator-java.util.Iterator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flushIterator</h4>
<pre>public static&nbsp;void&nbsp;flushIterator(java.util.Iterator&nbsp;i)</pre>
<div class="block">Exhaust the remainder of the iterator so that Hibernate will properly
close the cursor associated with it.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>i</code> - Iterator being exhausted</dd>
</dl>
</li>
</ul>
<a name="orderInsensitiveEquals-java.util.List-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>orderInsensitiveEquals</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;boolean&nbsp;orderInsensitiveEquals(java.util.List&lt;T&gt;&nbsp;l1,
java.util.List&lt;T&gt;&nbsp;l2)</pre>
<div class="block">Check if the two given Lists contain all of the same elements. Unlike
ArrayList.equals(Object), this ignores the order of the elements.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>l1</code> - The first List to compare.</dd>
<dd><code>l2</code> - The second List to compare.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Return true if both Lists are non-null and contain all of the
same elements.</dd>
</dl>
</li>
</ul>
<a name="find-java.util.List-java.lang.Object-java.util.Comparator-">
<!-- -->
</a><a name="find-java.util.List-T-java.util.Comparator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>find</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;T&nbsp;find(java.util.List&lt;T&gt;&nbsp;list,
T&nbsp;t,
java.util.Comparator&lt;T&gt;&nbsp;comparator)</pre>
<div class="block">Find the requested object in the given list using the given comparator.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>list</code> - The list in which to search for a match to t.</dd>
<dd><code>t</code> - The object to look for using the comparator in the list.</dd>
<dd><code>comparator</code> - The Comparator to use to compare t to the list elements.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The requested object in the given list or null if not found.</dd>
</dl>
</li>
</ul>
<a name="findComparable-java.util.List-java.lang.Comparable-boolean-">
<!-- -->
</a><a name="findComparable-java.util.List-T-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findComparable</h4>
<pre>public static&nbsp;&lt;T extends java.lang.Comparable&lt;? super T&gt;&gt;&nbsp;T&nbsp;findComparable(java.util.List&lt;T&gt;&nbsp;list,
T&nbsp;toFind,
boolean&nbsp;sorted)</pre>
<div class="block">Return a matching object from the given list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>list</code> - The list of comparable items.</dd>
<dd><code>toFind</code> - The item to find.</dd>
<dd><code>sorted</code> - Whether the list is already sorted.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A matching object according to the comparable interface, or null
if no match is found.</dd>
</dl>
</li>
</ul>
<a name="containsComparable-java.util.List-java.lang.Comparable-boolean-">
<!-- -->
</a><a name="containsComparable-java.util.List-T-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsComparable</h4>
<pre>public static&nbsp;&lt;T extends java.lang.Comparable&lt;? super T&gt;&gt;&nbsp;boolean&nbsp;containsComparable(java.util.List&lt;T&gt;&nbsp;list,
T&nbsp;toFind,
boolean&nbsp;sorted)</pre>
<div class="block">Return whether the given list of comparable items contains the give item
according to the Comparable interface. This is similar to the contains()
method on Collection, except that it uses natural ordering (Comparable
interface) rather than equality (equals and hashCode) to determine
matches.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>list</code> - The list of comparable items.</dd>
<dd><code>toFind</code> - The item to find.</dd>
<dd><code>sorted</code> - Whether the list is already sorted.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether the given item is in the given list. False if either
parameter is null.</dd>
</dl>
</li>
</ul>
<a name="arrayToList-java.lang.Object:A-">
<!-- -->
</a><a name="arrayToList-T:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>arrayToList</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;java.util.List&lt;T&gt;&nbsp;arrayToList(T[]&nbsp;array)</pre>
<div class="block">Given an array, returns a list.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>array</code> - Array to copy to a list</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>New List, empty list if array is null.</dd>
</dl>
</li>
</ul>
<a name="shiftArray-java.lang.String:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shiftArray</h4>
<pre>public static&nbsp;java.lang.String[]&nbsp;shiftArray(java.lang.String[]&nbsp;input)</pre>
<div class="block">Return a copy of the array with the first element removed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>input</code> - The array to shift.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A copy of the array with the first element removed.</dd>
</dl>
</li>
</ul>
<a name="mergeAndSortArrays-long:A-long:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mergeAndSortArrays</h4>
<pre>public static&nbsp;long[]&nbsp;mergeAndSortArrays(long[]&nbsp;array1,
long[]&nbsp;array2)</pre>
<div class="block">Merge the contents of two arrays of longs into a newly created sorted array</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>array1</code> - First array to merge</dd>
<dd><code>array2</code> - Second array to merge</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>New array containing the sorted contents of the two specified arrays</dd>
</dl>
</li>
</ul>
<a name="iteratorToList-java.util.Iterator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>iteratorToList</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;java.util.List&lt;T&gt;&nbsp;iteratorToList(java.util.Iterator&lt;T&gt;&nbsp;iterator)</pre>
<div class="block">Return a List with the elements returned by the given iterator.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>iterator</code> - The Iterator from which to create the List.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A List with the elements returned by the given iterator.</dd>
</dl>
</li>
</ul>
<a name="safeIterable-java.lang.Iterable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>safeIterable</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;java.lang.Iterable&lt;T&gt;&nbsp;safeIterable(java.lang.Iterable&lt;T&gt;&nbsp;iterable)</pre>
<div class="block">Constructs a null-safe iterable for use with for-each loops to avoid null
checking.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>iterable</code> - The iterable to use.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>iterable if it is non-null, otherwise an empty iterable.</dd>
</dl>
</li>
</ul>
<a name="iterate-java.lang.Iterable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>iterate</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;java.lang.Iterable&lt;T&gt;&nbsp;iterate(java.lang.Iterable&lt;T&gt;&nbsp;iterable)</pre>
<div class="block">Alternate name that's easier to remember.</div>
</li>
</ul>
<a name="iteratorToMaps-java.util.Iterator-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>iteratorToMaps</h4>
<pre>public static&nbsp;java.util.List&lt;java.util.Map&lt;java.lang.String,java.lang.Object&gt;&gt;&nbsp;iteratorToMaps(java.util.Iterator&lt;java.lang.Object[]&gt;&nbsp;iterator,
java.lang.String...&nbsp;keys)</pre>
<div class="block">Return a List of maps that have the object arrays in the given iterator
keyed by the given list of keys.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>iterator</code> - The Iterator from which to create the List of Maps.</dd>
<dd><code>keys</code> - The keys for the maps that are being created. The
number of keys must match the number of objects in each
Object[] in the iterator. Note that this can be a
single string that has a comma-separated list of keys.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A List with the elements returned by the given iterator.</dd>
</dl>
</li>
</ul>
<a name="size-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>size</h4>
<pre>public static&nbsp;int&nbsp;size(java.util.Collection&nbsp;c)</pre>
<div class="block">Return the size of the given collection.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>c</code> - The possibly-null collection to get the size of.</dd>
</dl>
</li>
</ul>
<a name="isEmpty-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre>public static&nbsp;boolean&nbsp;isEmpty(java.util.Collection&nbsp;collection)</pre>
</li>
</ul>
<a name="isEmpty-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre>public static&nbsp;boolean&nbsp;isEmpty(java.util.Map&nbsp;map)</pre>
</li>
</ul>
<a name="isEmpty-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre>public static&nbsp;boolean&nbsp;isEmpty(java.lang.String&nbsp;csv)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>csv</code> - CSV that is being checked for emptiness</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the csv contains values; false otherwise</dd>
</dl>
</li>
</ul>
<a name="mapKeys-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mapKeys</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;java.util.List&lt;T&gt;&nbsp;mapKeys(java.util.Map&lt;T,?&gt;&nbsp;map)</pre>
<div class="block">Return a list of the keys in a Map</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>map</code> - Map containing keys</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A List containing the keys from the Map</dd>
</dl>
</li>
</ul>
<a name="containsAny-java.util.Collection-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsAny</h4>
<pre>public static&nbsp;boolean&nbsp;containsAny(java.util.Collection&nbsp;c1,
java.util.Collection&nbsp;c2)</pre>
<div class="block">Return whether c1 contains any elements found in c2.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>c1</code> - The first collection to compare.</dd>
<dd><code>c2</code> - The second collection to compare.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if c1 contains any elements found in c2, false otherwise.</dd>
</dl>
</li>
</ul>
<a name="getString-java.util.Map-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getString(java.util.Map&nbsp;map,
java.lang.String&nbsp;name)</pre>
<div class="block">Return a map value as a string.</div>
</li>
</ul>
<a name="getBoolean-java.util.Map-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBoolean</h4>
<pre>public static&nbsp;boolean&nbsp;getBoolean(java.util.Map&nbsp;map,
java.lang.String&nbsp;name)</pre>
</li>
</ul>
<a name="getInt-java.util.Map-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
<pre>public static&nbsp;int&nbsp;getInt(java.util.Map&nbsp;map,
java.lang.String&nbsp;name)</pre>
</li>
</ul>
<a name="getDate-java.util.Map-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDate</h4>
<pre>public static&nbsp;java.util.Date&nbsp;getDate(java.util.Map&nbsp;map,
java.lang.String&nbsp;name)</pre>
</li>
</ul>
<a name="get-java.util.Map-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;get(java.util.Map&nbsp;map,
java.lang.String&nbsp;name)</pre>
</li>
</ul>
<a name="htmlify-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>htmlify</h4>
<pre>public static&nbsp;java.lang.String&nbsp;htmlify(java.lang.String&nbsp;src)</pre>
<div class="block">Take a string that can contain formatting characters typical
for hand-edited XML and simplify it for rendering as HTML
or within an Ext component.
This was necessary for some object description strings since Ext
seems to collapse newlines which causes words separted only
by newlines to be merged. Ext does seem to strip leading and
trailing whitespace but we'll do it here to so this method
can be used in several places.</div>
</li>
</ul>
<a name="getFullname-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFullname</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getFullname(java.lang.String&nbsp;first,
java.lang.String&nbsp;last)</pre>
<div class="block">Return a fullname constructed from the given first and last names.
More often than not, you should use Identity.getDisplayableName()
instead of this.</div>
</li>
</ul>
<a name="getString-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getString(java.lang.String&nbsp;s)</pre>
<div class="block">Return the given String or null (if the given String is null or
zero-length).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>s</code> - The String to filter.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The given String or null (if the given String is null or
zero-length).</dd>
</dl>
</li>
</ul>
<a name="nullify-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullify</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;nullify(java.lang.Object&nbsp;obj)</pre>
<div class="block">Collapse a value to null if it is logically null.
This differs from getString because I didn't like the
handling for "null" where was that used??</div>
</li>
</ul>
<a name="trimnull-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimnull</h4>
<pre>public static&nbsp;java.lang.String&nbsp;trimnull(java.lang.String&nbsp;str)</pre>
<div class="block">Like nullify but we don't have to cast the return</div>
</li>
</ul>
<a name="capitalize-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>capitalize</h4>
<pre>public static&nbsp;java.lang.String&nbsp;capitalize(java.lang.String&nbsp;str)</pre>
<div class="block">Capitalizes the first letter in the given String
Example: hElLo becomes HElLo</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>str</code> - string in need of some capitalization</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>capitalized string</dd>
</dl>
</li>
</ul>
<a name="capitalizeAndNormalize-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>capitalizeAndNormalize</h4>
<pre>public static&nbsp;java.lang.String&nbsp;capitalizeAndNormalize(java.lang.String&nbsp;str)</pre>
<div class="block">Capitalizes the first letter in the given String and lowercases
the rest of the String
Example: hElLo becomes Hello</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>str</code> - string in need of help</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>capitalized and normalized string</dd>
</dl>
</li>
</ul>
<a name="truncate-java.lang.String-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>truncate</h4>
<pre>public static&nbsp;java.lang.String&nbsp;truncate(java.lang.String&nbsp;s,
int&nbsp;maxLength)</pre>
<div class="block">Truncate the given string if it is longer than maxLength - if so, the
last 3 characters are replaced with an ellipsis (...).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>s</code> - The string to truncate.</dd>
<dd><code>maxLength</code> - The maximum length.</dd>
</dl>
</li>
</ul>
<a name="truncateFront-java.lang.String-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>truncateFront</h4>
<pre>public static&nbsp;java.lang.String&nbsp;truncateFront(java.lang.String&nbsp;s,
int&nbsp;maxLength)</pre>
<div class="block">Similar to truncate(), but if truncation is necessary the beginning of
the string is trimmed rather than the end.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>s</code> - The string to truncate.</dd>
<dd><code>maxLength</code> - The maximum length.</dd>
</dl>
</li>
</ul>
<a name="stripLeadingChar-java.lang.String-char-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stripLeadingChar</h4>
<pre>public static&nbsp;java.lang.String&nbsp;stripLeadingChar(java.lang.String&nbsp;s,
char&nbsp;c)</pre>
<div class="block">Strip all occurrences of the given character off the front of the
given string.</div>
</li>
</ul>
<a name="splitCamelCase-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>splitCamelCase</h4>
<pre>public static&nbsp;java.lang.String&nbsp;splitCamelCase(java.lang.String&nbsp;str)</pre>
<div class="block">Takes a camel case string, splits the words out of it
and capitalizes each one.
Example: camelCaseString becomes Camel Case String</div>
</li>
</ul>
<a name="encodeJavaIdentifier-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encodeJavaIdentifier</h4>
<pre>public static&nbsp;java.lang.String&nbsp;encodeJavaIdentifier(java.lang.String&nbsp;s)</pre>
<div class="block">Encode the given string into a valid java identifier (for example - does not start
with a number, does not include spaces, commas, etc...) by replacing any
invalid characters with the ASCII code of the character surrounded by
double underscores. For example: 0 becomes __48__.
Note that we allow spaces and dots to go through unescaped.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>s</code> - The string to convert to a valid java identifier.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An encoded valid java identifier.</dd>
</dl>
</li>
</ul>
<a name="decodeJavaIdentifier-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decodeJavaIdentifier</h4>
<pre>public static&nbsp;java.lang.String&nbsp;decodeJavaIdentifier(java.lang.String&nbsp;s)
throws <a href="../../sailpoint/tools/Util.ParseException.html" title="class in sailpoint.tools">Util.ParseException</a></pre>
<div class="block">Decode the given encoded java identifier to remove any encoded invalid
characters and replace them with their original values.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>s</code> - The string to decode.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The decoded version of the given encoded java identifier.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/Util.ParseException.html" title="class in sailpoint.tools">Util.ParseException</a></code> - If the given string is not a valid encoded java identifier. The
method encodeJavaIdentifier() should always produce valid identifiers
that will not throw this exception.</dd>
</dl>
</li>
</ul>
<a name="itoa-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>itoa</h4>
<pre>public static&nbsp;java.lang.String&nbsp;itoa(int&nbsp;i)</pre>
<div class="block">Convert an primitive integer value into a String.
This does not really save much space, but its the obvious
inverse to atoi.</div>
</li>
</ul>
<a name="ltoa-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ltoa</h4>
<pre>public static&nbsp;java.lang.String&nbsp;ltoa(long&nbsp;i)</pre>
</li>
</ul>
<a name="ftoa-float-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ftoa</h4>
<pre>public static&nbsp;java.lang.String&nbsp;ftoa(float&nbsp;i)</pre>
</li>
</ul>
<a name="atoi-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>atoi</h4>
<pre>public static&nbsp;int&nbsp;atoi(java.lang.String&nbsp;a)</pre>
<div class="block">Convert a String value into a primitive integer value.
Truncate doubles and return the floor.
Tolerate null strings, and invalid integer strings and return 0.</div>
</li>
</ul>
<a name="atoi-java.lang.String-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>atoi</h4>
<pre>public static&nbsp;int&nbsp;atoi(java.lang.String&nbsp;a,
int&nbsp;def)</pre>
<div class="block">Convert a String value into a primitive integer value.
If the string is invalid, the value of the "def" argument is returned.</div>
</li>
</ul>
<a name="atol-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>atol</h4>
<pre>public static&nbsp;long&nbsp;atol(java.lang.String&nbsp;a)</pre>
</li>
</ul>
<a name="atof-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>atof</h4>
<pre>public static&nbsp;float&nbsp;atof(java.lang.String&nbsp;a)</pre>
</li>
</ul>
<a name="atob-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>atob</h4>
<pre>public static&nbsp;boolean&nbsp;atob(java.lang.String&nbsp;a)</pre>
</li>
</ul>
<a name="otoa-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>otoa</h4>
<pre>public static&nbsp;java.lang.String&nbsp;otoa(java.lang.Object&nbsp;o)</pre>
</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;o)</pre>
</li>
</ul>
<a name="otoi-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>otoi</h4>
<pre>public static&nbsp;int&nbsp;otoi(java.lang.Object&nbsp;o)</pre>
</li>
</ul>
<a name="otos-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>otos</h4>
<pre>public static&nbsp;java.lang.String&nbsp;otos(java.lang.Object&nbsp;o)</pre>
<div class="block">Convert an object to its string representation. This will convert Lists
and Collections to comma-separated lists. Any other object is simply
returned as its toString() representation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>o</code> - The object to convert to a string.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The string representation of the given object, or null if the
given object is null.</dd>
</dl>
</li>
</ul>
<a name="otol-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>otol</h4>
<pre>public static&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;otol(java.lang.Object&nbsp;o)</pre>
<div class="block">Convert an object to a List of Strings. This is useful when contending
with arguments that may be coming in as CSVs or as Lists.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>o</code> - Either a List<String> or a CSV list</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A new List containing all the elements in the specified object.
Note that if the specified object is a List this method returns a new List
containing all the elements of the one that was passed in.</dd>
</dl>
</li>
</ul>
<a name="trimWhitespace-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trimWhitespace</h4>
<pre>public static&nbsp;java.lang.String&nbsp;trimWhitespace(java.lang.String&nbsp;src)</pre>
<div class="block">Trims trailing whitespace from a string.
String.trim() can be used if you want to trim from both sides
of the string.</div>
</li>
</ul>
<a name="deleteWhitespace-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteWhitespace</h4>
<pre>public static&nbsp;java.lang.String&nbsp;deleteWhitespace(java.lang.String&nbsp;src)</pre>
<div class="block">Deletes any whitespace from the string</div>
</li>
</ul>
<a name="compressWhiteSpace-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compressWhiteSpace</h4>
<pre>public static&nbsp;java.lang.String&nbsp;compressWhiteSpace(java.lang.String&nbsp;str)</pre>
<div class="block">This method strips leading and trailing whitespace and guarantees that there is
at most one space between characters in the output. For example,
<pre>"What does this do?"</pre> becomes
<pre>"What does this do?"</pre></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>str</code> - string in need of compression</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>compressed string</dd>
</dl>
</li>
</ul>
<a name="unxml-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unxml</h4>
<pre>public static&nbsp;java.lang.String&nbsp;unxml(java.lang.String&nbsp;src)</pre>
<div class="block">Remove "xml garbage" from a string that might have started out
life in an XML element. These commonly have leading whitespace
that was used to indent the text in the XML file, but once this
has been imported it is no longer necessary and annoyong to look
at in the UI.
Also collapse empty strings to null for contexts where we select
from several values based on their nullness.
NOTE: This isn't enough! Also need to be sifting through
this looking for embedded newlines followed by spaces and
collapsing out this "insignificant whitespace".
Sigh, also must avoid triggering unnecessary Hibernate updates
by checking to see if the string actually needs fixing.</div>
</li>
</ul>
<a name="strstr-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>strstr</h4>
<pre>public static&nbsp;java.lang.String&nbsp;strstr(java.lang.String&nbsp;inString,
java.lang.String&nbsp;delimeter)</pre>
<div class="block">Returns the last token in a string of tokens
separated by delimiter argument.</div>
</li>
</ul>
<a name="expandVariables-java.lang.String-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>expandVariables</h4>
<pre>public static&nbsp;java.lang.String&nbsp;expandVariables(java.lang.String&nbsp;src,
java.util.Map&lt;java.lang.String,java.lang.Object&gt;&nbsp;variables)</pre>
<div class="block">Process a string which may contain references to variables
and substitute the values of those variables.
<p>
If a variable is not defined, it silently expands to nothing.
<p>
A variable is referenced with the syntax "$(x)" where "x" is
the name of the variable. Values for variables are supplied
through a Map.</div>
</li>
</ul>
<a name="escapeNewlines-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>escapeNewlines</h4>
<pre>public static&nbsp;java.lang.String&nbsp;escapeNewlines(java.lang.String&nbsp;src)</pre>
<div class="block">Process a string to escape newline characters.
<p>
Ordinarilly done if you want to store a string as a value
in a property file, where the newline marks the end of the value.</div>
</li>
</ul>
<a name="escapeHTMLNewlines-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>escapeHTMLNewlines</h4>
<pre>public static&nbsp;java.lang.String&nbsp;escapeHTMLNewlines(java.lang.String&nbsp;src)</pre>
<div class="block">Escape newlines from the string into the HTML escaped newline and
carriage return.</div>
</li>
</ul>
<a name="escapeNewlines-java.lang.String-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>escapeNewlines</h4>
<pre>public static&nbsp;java.lang.String&nbsp;escapeNewlines(java.lang.String&nbsp;src,
java.lang.String&nbsp;nRepl,
java.lang.String&nbsp;rRepl)</pre>
<div class="block">Process a string to escape newline characters.</div>
</li>
</ul>
<a name="delimToList-java.lang.String-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>delimToList</h4>
<pre>public static&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;delimToList(java.lang.String&nbsp;delim,
java.lang.String&nbsp;src,
boolean&nbsp;filterEmpty)</pre>
</li>
</ul>
<a name="csvToList-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>csvToList</h4>
<pre>public static&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;csvToList(java.lang.String&nbsp;src)</pre>
<div class="block">Convert a comma delimited string into a List of strings.</div>
</li>
</ul>
<a name="csvToList-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>csvToList</h4>
<pre>public static&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;csvToList(java.lang.String&nbsp;src,
boolean&nbsp;filterEmpty)</pre>
</li>
</ul>
<a name="csvToArray-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>csvToArray</h4>
<pre>public static&nbsp;java.lang.String[]&nbsp;csvToArray(java.lang.String&nbsp;src)</pre>
</li>
</ul>
<a name="csvToSet-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>csvToSet</h4>
<pre>public static&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;csvToSet(java.lang.String&nbsp;src,
boolean&nbsp;filterEmpty)</pre>
</li>
</ul>
<a name="setToCsv-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setToCsv</h4>
<pre>public static&nbsp;java.lang.String&nbsp;setToCsv(java.util.Set&lt;?&gt;&nbsp;set)</pre>
</li>
</ul>
<a name="listToCsv-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listToCsv</h4>
<pre>public static&nbsp;java.lang.String&nbsp;listToCsv(java.util.List&nbsp;list)</pre>
<div class="block">Convert a list of strings into a comma delimited list.</div>
</li>
</ul>
<a name="listToCsv-java.util.List-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listToCsv</h4>
<pre>public static&nbsp;java.lang.String&nbsp;listToCsv(java.util.List&nbsp;list,
boolean&nbsp;filterEmpty)</pre>
</li>
</ul>
<a name="listToQuotedCsv-java.util.List-java.lang.Character-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listToQuotedCsv</h4>
<pre>public static&nbsp;java.lang.String&nbsp;listToQuotedCsv(java.util.List&nbsp;list,
java.lang.Character&nbsp;quoteChar,
boolean&nbsp;filterEmpty)</pre>
<div class="block">Convert a list of strings into a comma delimited list of Strings wrapped in the specified
type of quote. If null as provided as the quote type no quotes are applied.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>list</code> - List of objects to be converted into a list of strings</dd>
<dd><code>quoteChar</code> - Quote character in which to wrap the strings. Can be ', ", or null.
If null is specified no quotes will be applied</dd>
<dd><code>filterEmpty</code> - True to filter blank strings out of the list. False to include them</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String representation of a comma delimited list of Strings wrapped in the specified type of quote</dd>
</dl>
</li>
</ul>
<a name="listToQuotedCsv-java.util.List-java.lang.Character-boolean-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listToQuotedCsv</h4>
<pre>public static&nbsp;java.lang.String&nbsp;listToQuotedCsv(java.util.List&nbsp;list,
java.lang.Character&nbsp;quoteChar,
boolean&nbsp;filterEmpty,
boolean&nbsp;conditionallyQuote)</pre>
<div class="block">This is similar to listToQuoteCsv but allows the specification
of the conditionally quoted individual values in a csv that have
embedded commas.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>String representation of the list</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../sailpoint/tools/Util.html#listToQuotedCsv-java.util.List-java.lang.Character-boolean-"><code>listToQuotedCsv(List, Character, boolean)</code></a></dd>
</dl>
</li>
</ul>
<a name="listToRfc4180Csv-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listToRfc4180Csv</h4>
<pre>public static&nbsp;java.lang.String&nbsp;listToRfc4180Csv(java.util.List&lt;?&gt;&nbsp;list)</pre>
</li>
</ul>
<a name="listToPipeDelimited-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listToPipeDelimited</h4>
<pre>public static&nbsp;java.lang.String&nbsp;listToPipeDelimited(java.util.List&nbsp;list)</pre>
<div class="block">Return a pipe (|) delimited string with all values in the given list.
Each list element will be surrounded by pipes. For example, [A, B, C]
would return "|A|B|C|".</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>list</code> - The List to convert to a pipe delimited string.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A pipe delimited string with all values in the given list, or
null if the given list is null.</dd>
</dl>
</li>
</ul>
<a name="join-java.util.Collection-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>join</h4>
<pre>public static&nbsp;java.lang.String&nbsp;join(java.util.Collection&nbsp;c,
java.lang.String&nbsp;delimiter)</pre>
<div class="block">Join the items in a collection into a String just as the Perl join
function does.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>c</code> - the Collection to join</dd>
<dd><code>delimiter</code> - the delimeter to place between the collection elements</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>joined string</dd>
</dl>
</li>
</ul>
<a name="truncatedJoin-java.util.Collection-java.lang.String-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>truncatedJoin</h4>
<pre>public static&nbsp;java.lang.String&nbsp;truncatedJoin(java.util.Collection&nbsp;c,
java.lang.String&nbsp;delimiter,
int&nbsp;maxChars)</pre>
<div class="block">First joins the list of string values using the specified delimiter,
then truncates the resulting string to the specified character
maximum.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>c</code> - The collection to join.</dd>
<dd><code>delimiter</code> - The join character.</dd>
<dd><code>maxChars</code> - The maximum characters after truncation.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The joined and truncated string.</dd>
</dl>
</li>
</ul>
<a name="readBinaryFile-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readBinaryFile</h4>
<pre>public static&nbsp;byte[]&nbsp;readBinaryFile(java.lang.String&nbsp;name)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<div class="block">Read the contents of a file and return it as a byte array.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="readBinaryInputStream-java.io.InputStream-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readBinaryInputStream</h4>
<pre>public static&nbsp;byte[]&nbsp;readBinaryInputStream(java.io.InputStream&nbsp;inputStream)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="readBinaryFile-java.io.File-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readBinaryFile</h4>
<pre>public static&nbsp;byte[]&nbsp;readBinaryFile(java.io.File&nbsp;f)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="readInputStream-java.io.InputStream-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readInputStream</h4>
<pre>public static&nbsp;java.lang.String&nbsp;readInputStream(java.io.InputStream&nbsp;inputStream)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="readFile-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readFile</h4>
<pre>public static&nbsp;java.lang.String&nbsp;readFile(java.lang.String&nbsp;name)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<div class="block">Read the contents of a file and return it as a String.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="readFile-java.io.File-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readFile</h4>
<pre>public static&nbsp;java.lang.String&nbsp;readFile(java.io.File&nbsp;f)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="bytesToString-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bytesToString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;bytesToString(byte[]&nbsp;bytes)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="writeFile-java.lang.String-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeFile</h4>
<pre>public static&nbsp;void&nbsp;writeFile(java.lang.String&nbsp;name,
byte[]&nbsp;contents)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<div class="block">Store the contents of a byte array to a file.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="writeTestFile-java.lang.String-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeTestFile</h4>
<pre>public static&nbsp;void&nbsp;writeTestFile(java.lang.String&nbsp;name,
byte[]&nbsp;contents)</pre>
</li>
</ul>
<a name="writeFile-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeFile</h4>
<pre>public static&nbsp;void&nbsp;writeFile(java.lang.String&nbsp;name,
java.lang.String&nbsp;contents)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<div class="block">Store the contents of a String in a file.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="writeTestFile-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeTestFile</h4>
<pre>public static&nbsp;void&nbsp;writeTestFile(java.lang.String&nbsp;name,
java.lang.String&nbsp;contents)</pre>
</li>
</ul>
<a name="copyFile-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyFile</h4>
<pre>public static&nbsp;void&nbsp;copyFile(java.lang.String&nbsp;src,
java.lang.String&nbsp;dest)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a>,
java.io.IOException</pre>
<div class="block">Copies one file to another.
<p>
I'm sort of suprised the JDK doesn't have something to do this.
If this were used with large files, we'd want to do iterate
over a fixed block size.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="getMachineUser--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMachineUser</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getMachineUser()</pre>
<div class="block">Get the name of the user that is logged in to the host machine.</div>
</li>
</ul>
<a name="getDate-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDate</h4>
<pre>public static&nbsp;java.util.Date&nbsp;getDate(java.lang.Object&nbsp;o)</pre>
<div class="block">Try to derive a Date from a random object.
If this is a String then we have to use the default format.</div>
</li>
</ul>
<a name="dateToString-java.util.Date-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dateToString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;dateToString(java.util.Date&nbsp;src)</pre>
<div class="block">Format a Date value as a String, using the usual "American"
format with the current time zone.</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>
</li>
</ul>
<a name="dateToString-java.util.Date-java.lang.String-java.util.TimeZone-">
<!-- -->
</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,
java.util.TimeZone&nbsp;tz)</pre>
</li>
</ul>
<a name="incrementDateByDays-java.util.Date-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incrementDateByDays</h4>
<pre>public static&nbsp;java.util.Date&nbsp;incrementDateByDays(java.util.Date&nbsp;date,
long&nbsp;duration)</pre>
</li>
</ul>
<a name="incrementDateByMinutes-java.util.Date-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incrementDateByMinutes</h4>
<pre>public static&nbsp;java.util.Date&nbsp;incrementDateByMinutes(java.util.Date&nbsp;date,
int&nbsp;minutes)</pre>
</li>
</ul>
<a name="incrementDateBySeconds-java.util.Date-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incrementDateBySeconds</h4>
<pre>public static&nbsp;java.util.Date&nbsp;incrementDateBySeconds(java.util.Date&nbsp;date,
int&nbsp;seconds)</pre>
</li>
</ul>
<a name="getBeginningOfDay-java.util.Date-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBeginningOfDay</h4>
<pre>public static&nbsp;java.util.Date&nbsp;getBeginningOfDay(java.util.Date&nbsp;day)</pre>
</li>
</ul>
<a name="getEndOfDay-java.util.Date-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEndOfDay</h4>
<pre>public static&nbsp;java.util.Date&nbsp;getEndOfDay(java.util.Date&nbsp;day)</pre>
</li>
</ul>
<a name="dateToString-java.util.Date-java.lang.Integer-java.lang.Integer-">
<!-- -->
</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.Integer&nbsp;dateFormat,
java.lang.Integer&nbsp;timeFormat)</pre>
</li>
</ul>
<a name="dateToString-java.util.Date-java.lang.Integer-java.lang.Integer-java.util.TimeZone-java.util.Locale-">
<!-- -->
</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.Integer&nbsp;dateFormat,
java.lang.Integer&nbsp;timeFormat,
java.util.TimeZone&nbsp;timeZone,
java.util.Locale&nbsp;locale)</pre>
</li>
</ul>
<a name="baselineDate-java.util.Date-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>baselineDate</h4>
<pre>public static&nbsp;java.util.Date&nbsp;baselineDate(java.util.Date&nbsp;src)</pre>
</li>
</ul>
<a name="baselineDate-java.util.Date-java.util.TimeZone-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>baselineDate</h4>
<pre>public static&nbsp;java.util.Date&nbsp;baselineDate(java.util.Date&nbsp;src,
java.util.TimeZone&nbsp;timeZone)</pre>
<div class="block">Get the baseline date for the source date. If timezone is passed, will use the
day of month this date will represent in that timezone. Otherwise, use default timezone.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>src</code> - Date to baseline</dd>
<dd><code>timeZone</code> - Optional. Timezone to use when getting day of month.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Baseline date with no time values</dd>
</dl>
</li>
</ul>
<a name="dateBetween-java.util.Date-java.util.Date-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dateBetween</h4>
<pre>public static&nbsp;java.util.Date&nbsp;dateBetween(java.util.Date&nbsp;startDate,
java.util.Date&nbsp;endDate)</pre>
</li>
</ul>
<a name="isDateAfter-java.util.Date-java.util.Date-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDateAfter</h4>
<pre>public static&nbsp;boolean&nbsp;isDateAfter(java.util.Date&nbsp;testDate,
java.util.Date&nbsp;startDate)</pre>
<div class="block">Determine whether the testDate is greater than or equal to the startDate</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>testDate</code> - Date that we want to test</dd>
<dd><code>startDate</code> - Beginning of the test interval</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the test Date is after the start date; false otherwise</dd>
</dl>
</li>
</ul>
<a name="stringToList-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stringToList</h4>
<pre>public static&nbsp;java.util.List&nbsp;stringToList(java.lang.String&nbsp;value)</pre>
<div class="block">Note: Why don't we return List<String> here?
I have noticed that if I change it to List<String> some
classes depending on this break. Those classes are
already broken. We should fix that.</div>
</li>
</ul>
<a name="mapToString-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mapToString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;mapToString(java.util.Map&nbsp;map)</pre>
<div class="block">Convert the given Map to a String.</div>
</li>
</ul>
<a name="stringToMap-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stringToMap</h4>
<pre>public static&nbsp;java.util.Map&nbsp;stringToMap(java.lang.String&nbsp;value)</pre>
<div class="block">Convert the string representation for a map into a Map object</div>
</li>
</ul>
<a name="stringToDate-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stringToDate</h4>
<pre>public static&nbsp;java.util.Date&nbsp;stringToDate(java.lang.String&nbsp;src)
throws java.text.ParseException</pre>
<div class="block">Convert the string representation for a date into a Date object.
The string can be of the following forms:
M/d/y H:m:s z
M/d/y H:m:s
M/d/y</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.text.ParseException</code></dd>
</dl>
</li>
</ul>
<a name="stringToTime-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stringToTime</h4>
<pre>public static&nbsp;java.util.Date&nbsp;stringToTime(java.lang.String&nbsp;src)
throws java.text.ParseException</pre>
<div class="block">Convert the string representation for a date into a Date object.
This method is similar to stringToDate, except it assumes that
no day, month, or year is specified.
The string can be of the following forms:
H:m:s z
H:m:s</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.text.ParseException</code></dd>
</dl>
</li>
</ul>
<a name="getDaysDifference-java.util.Date-java.util.Date-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDaysDifference</h4>
<pre>public static&nbsp;int&nbsp;getDaysDifference(java.util.Date&nbsp;d1,
java.util.Date&nbsp;d2)</pre>
<div class="block">Return the number of days difference between the two given dates. If d1
is after d2, the returned value is positive otherwise the returned value
is negative. If either given date is null, this returns
Integer.MIN_VALUE.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of days difference between the two given dates, or
Integer.MIN_VALUE if either date is null.</dd>
</dl>
</li>
</ul>
<a name="isDateAfterToday-java.util.Date-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDateAfterToday</h4>
<pre>public static&nbsp;boolean&nbsp;isDateAfterToday(java.util.Date&nbsp;date)</pre>
</li>
</ul>
<a name="getLongDifference-java.util.Date-java.util.Date-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLongDifference</h4>
<pre>public static&nbsp;long&nbsp;getLongDifference(java.util.Date&nbsp;d1,
java.util.Date&nbsp;d2)</pre>
</li>
</ul>
<a name="getPercentage-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPercentage</h4>
<pre>public static&nbsp;int&nbsp;getPercentage(int&nbsp;x,
int&nbsp;y)</pre>
<div class="block">Returns percentage given two numbers. The result is rounded
to the nearest integer. If the percentage is between 0 and 1
we round up to 1. If the percentage is between 99 and 100 we round
down to 99.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>x</code> - number to divide</dd>
<dd><code>y</code> - number to divide by</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Percentage dividing x/y. See rounding rules above.</dd>
</dl>
</li>
</ul>
<a name="computeDifferenceMilli-java.util.Date-java.util.Date-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeDifferenceMilli</h4>
<pre>public static&nbsp;long&nbsp;computeDifferenceMilli(java.util.Date&nbsp;start,
java.util.Date&nbsp;end)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="computeDifference-java.util.Date-java.util.Date-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeDifference</h4>
<pre>public static&nbsp;java.lang.String&nbsp;computeDifference(java.util.Date&nbsp;start,
java.util.Date&nbsp;end)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="sprintf-java.lang.String-java.lang.String:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sprintf</h4>
<pre>public static&nbsp;java.lang.StringBuffer&nbsp;sprintf(java.lang.String&nbsp;format,
java.lang.String[]&nbsp;args)</pre>
<div class="block">A marginally functional attempt to provide "sprintf" in Java.
The format string is a blank delimited list of integer tokens
that represent the field sizes. The args array contains the
strings that will plug into the fields.
Todo:
take an Object[] array instead of a String[] array
add format tokens for left/right justification
allow literal text in the format string
UPDATE: This is no longer needed now that we use Java 5,
remove...</div>
</li>
</ul>
<a name="getResourcePath-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResourcePath</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getResourcePath(java.lang.String&nbsp;name)</pre>
<div class="block">Attempts to determine the absolute pathname of a resource file.
The "name" argument must be the name of a resource file that can
be located through the CLASSPATH. It must use forward slashes.</div>
</li>
</ul>
<a name="getClasspathDirectory-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClasspathDirectory</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getClasspathDirectory(int&nbsp;idx)</pre>
<div class="block">Return the nth item on the CLASSPATH.
In addition to isolating the path, it will convert
\ to / and trim the trailing slash if any.</div>
</li>
</ul>
<a name="findFile-java.lang.String-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findFile</h4>
<pre>public static&nbsp;java.lang.String&nbsp;findFile(java.lang.String&nbsp;property,
java.lang.String&nbsp;name,
boolean&nbsp;searchClasspath)</pre>
<div class="block">Attempt to derive the absolute path of a file.
The "name" argument may be an absolute path or relative
path fragment.
If the name is an absolute path we simply return it.
Otherwise we combine the name with various other
root directories and probe until we find a valid file.
The sequence of probes is:
- relative path alone
- relative path combined with the value of the system
property named in the "property" argument
- relative path passed to getResourcePath to search
the classpath (the path *must* contain only forward
slashes for this to be used)</div>
</li>
</ul>
<a name="findFile-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findFile</h4>
<pre>public static&nbsp;java.lang.String&nbsp;findFile(java.lang.String&nbsp;property,
java.lang.String&nbsp;name)</pre>
</li>
</ul>
<a name="findFile-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findFile</h4>
<pre>public static&nbsp;java.lang.String&nbsp;findFile(java.lang.String&nbsp;name)</pre>
</li>
</ul>
<a name="findOutputFile-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findOutputFile</h4>
<pre>public static&nbsp;java.lang.String&nbsp;findOutputFile(java.lang.String&nbsp;name)</pre>
<div class="block">Build an absolute path name for a file.
Typically used when you want to write an output file to
the "current working directory".
If the name is already an absolute path we use it, otherwise
we use the system property "user.dir" as the root directory
and add the name.</div>
</li>
</ul>
<a name="getApplicationHome--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getApplicationHome</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getApplicationHome()
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<div class="block">Returns the filesystem path for the application home.
If a System property named sailpoint.home is set, then use it.
Otherwise, calculate it by finding a known resource in the
class path and doing some string manipulation.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="dumpProperties-java.io.PrintWriter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dumpProperties</h4>
<pre>public static&nbsp;void&nbsp;dumpProperties(java.io.PrintWriter&nbsp;out)</pre>
<div class="block">Prints the current system properties to a writer object.</div>
</li>
</ul>
<a name="dumpProperties--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dumpProperties</h4>
<pre>public static&nbsp;void&nbsp;dumpProperties()</pre>
<div class="block">Prints the current system properties to the system output device.</div>
</li>
</ul>
<a name="hashtableToMap-java.util.Hashtable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashtableToMap</h4>
<pre>public static&nbsp;java.util.HashMap&nbsp;hashtableToMap(java.util.Hashtable&nbsp;hash)</pre>
<div class="block">Convert a Hashtable into a HashMap.
There are probably easier ways to do this with some of the
newer collection methods.</div>
</li>
</ul>
<a name="stackToString-java.lang.Throwable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stackToString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;stackToString(java.lang.Throwable&nbsp;th)</pre>
<div class="block">Converts the stack trace of an exception to a String</div>
</li>
</ul>
<a name="isAlreadyExistsException-java.lang.Throwable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAlreadyExistsException</h4>
<pre>public static&nbsp;boolean&nbsp;isAlreadyExistsException(java.lang.Throwable&nbsp;t)</pre>
<div class="block">Return true if the exception means that an attempt was made
to save an object with a name that was already in use.
This is used to avoid putting alarming messages in the log file
when an exception we expect is encountered. Since
a specific exception class is not received from Hibernate
the message has to be parsed.
jsl - Factored out of TaskManager so we could use it for duplicate
detection in ManagedAttributer. The "design" of this seems anecdotal
but it has been use for a long time by TaskManager. Should really
force this in all 4 databases and explicitly document what each does.</div>
</li>
</ul>
<a name="serializableObjectToBytes-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serializableObjectToBytes</h4>
<pre>public static&nbsp;byte[]&nbsp;serializableObjectToBytes(java.lang.Object&nbsp;toWrite)
throws java.io.IOException</pre>
<div class="block">Convert a Serializable Object into a byte array.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>toWrite</code> - The Object to serialize to bytes.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A byte array containing the serialized object.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="readSerializedObject-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readSerializedObject</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;readSerializedObject(byte[]&nbsp;bytes)
throws java.io.IOException,
java.lang.ClassNotFoundException</pre>
<div class="block">Reconstitute a serialized object from a byte array.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bytes</code> - The byte array containing the serialized object.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The Object reconstituted from the given byte array.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
<dd><code>java.lang.ClassNotFoundException</code></dd>
</dl>
</li>
</ul>
<a name="main-java.lang.String:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>main</h4>
<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)</pre>
</li>
</ul>
<a name="longToDottedQuad-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>longToDottedQuad</h4>
<pre>public static&nbsp;java.lang.String&nbsp;longToDottedQuad(long&nbsp;inaddr)</pre>
</li>
</ul>
<a name="dottedQuadToLong-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dottedQuadToLong</h4>
<pre>public static&nbsp;long&nbsp;dottedQuadToLong(java.lang.String&nbsp;ipaddr)</pre>
</li>
</ul>
<a name="isWindows--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isWindows</h4>
<pre>public static&nbsp;boolean&nbsp;isWindows()</pre>
</li>
</ul>
<a name="createObjectByClassName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createObjectByClassName</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;createObjectByClassName(java.lang.String&nbsp;name)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<div class="block">Create a new instance of an object by classname.
<p>
This method calls Class.forname and then creates
a default instance using the newInstance() method
on the Class object. This means the object must
have a no argument constructor for this method
to work properly.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="memoryFormat-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>memoryFormat</h4>
<pre>public static&nbsp;java.lang.String&nbsp;memoryFormat(long&nbsp;size)</pre>
<div class="block">Converts number of bytes to a human readable format.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>size</code> - number of bytes</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>human readable memory size</dd>
</dl>
</li>
</ul>
<a name="getIIQMessages-java.util.Locale-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIIQMessages</h4>
<pre>public static&nbsp;java.util.ResourceBundle&nbsp;getIIQMessages(java.util.Locale&nbsp;locale)</pre>
</li>
</ul>
<a name="getIIQHelpMessages-java.util.Locale-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIIQHelpMessages</h4>
<pre>public static&nbsp;java.util.ResourceBundle&nbsp;getIIQHelpMessages(java.util.Locale&nbsp;locale)</pre>
</li>
</ul>
<a name="getResourceBundle-java.lang.String-java.util.Locale-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResourceBundle</h4>
<pre>public static&nbsp;java.util.ResourceBundle&nbsp;getResourceBundle(java.lang.String&nbsp;bundleBaseName,
java.util.Locale&nbsp;locale)</pre>
<div class="block">Wrap ResourceBundle.getBundle() so it does not throw an exception of the
bundle cannot be found.</div>
</li>
</ul>
<a name="getMessage-java.util.ResourceBundle-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMessage</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getMessage(java.util.ResourceBundle&nbsp;bundle,
java.lang.String&nbsp;keyName)</pre>
<div class="block">Wrap ResourceBundle.getString() so it does not throw an exception if the
key cannot be found. Instead return the key that was not found.</div>
</li>
</ul>
<a name="getMessage-java.util.ResourceBundle-java.lang.String-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMessage</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getMessage(java.util.ResourceBundle&nbsp;bundle,
java.lang.String&nbsp;keyName,
boolean&nbsp;returnKey)</pre>
</li>
</ul>
<a name="getMemoryStats--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMemoryStats</h4>
<pre>public static&nbsp;java.lang.String&nbsp;getMemoryStats()</pre>
<div class="block">Return a String that contains the free, allocated, max and totalFree (free+(max-allocated))</div>
</li>
</ul>
<a name="isNullOrEmpty-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNullOrEmpty</h4>
<pre>public static&nbsp;boolean&nbsp;isNullOrEmpty(java.lang.String&nbsp;str)</pre>
</li>
</ul>
<a name="isNotNullOrEmpty-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNotNullOrEmpty</h4>
<pre>public static&nbsp;boolean&nbsp;isNotNullOrEmpty(java.lang.String&nbsp;str)</pre>
<div class="block">Negative of isNullOrEmpty
Its simply there for easier to read code.</div>
</li>
</ul>
<a name="isAnyNullOrEmpty-java.lang.String...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAnyNullOrEmpty</h4>
<pre>public static&nbsp;boolean&nbsp;isAnyNullOrEmpty(java.lang.String...&nbsp;vals)</pre>
</li>
</ul>
<a name="isNothing-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNothing</h4>
<pre>public static&nbsp;boolean&nbsp;isNothing(java.lang.String&nbsp;str)</pre>
</li>
</ul>
<a name="isInt-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInt</h4>
<pre>public static&nbsp;boolean&nbsp;isInt(java.lang.String&nbsp;str)</pre>
</li>
</ul>
<a name="smellsLikeMessageKey-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>smellsLikeMessageKey</h4>
<pre>public static&nbsp;boolean&nbsp;smellsLikeMessageKey(java.lang.String&nbsp;key)</pre>
<div class="block">Does the given string look like a message key?</div>
</li>
</ul>
<a name="countChars-java.lang.String-char-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>countChars</h4>
<pre>public static&nbsp;int&nbsp;countChars(java.lang.String&nbsp;sourceString,
char&nbsp;lookFor)</pre>
<div class="block">Look through a source string looking for the number
of occurrences of a given character.</div>
</li>
</ul>
<a name="convert-java.util.List-sailpoint.tools.Util.IConverter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convert</h4>
<pre>public static&nbsp;&lt;T1,T2&gt;&nbsp;java.util.List&lt;T2&gt;&nbsp;convert(java.util.List&lt;T1&gt;&nbsp;list1,
<a href="../../sailpoint/tools/Util.IConverter.html" title="interface in sailpoint.tools">Util.IConverter</a>&lt;T1,T2&gt;&nbsp;converter)
throws <a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></pre>
<div class="block">Converts a list of one type into another, IConverter defines the function
that is used for the conversion</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../sailpoint/tools/GeneralException.html" title="class in sailpoint.tools">GeneralException</a></code></dd>
</dl>
</li>
</ul>
<a name="nullsafeLong-java.lang.Long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullsafeLong</h4>
<pre>public static&nbsp;long&nbsp;nullsafeLong(java.lang.Long&nbsp;val)</pre>
</li>
</ul>
<a name="nullsafeBoolean-java.lang.Boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullsafeBoolean</h4>
<pre>public static&nbsp;boolean&nbsp;nullsafeBoolean(java.lang.Boolean&nbsp;val)</pre>
</li>
</ul>
<a name="padID-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>padID</h4>
<pre>public static&nbsp;java.lang.String&nbsp;padID(java.lang.String&nbsp;strId)</pre>
</li>
</ul>
<a name="removeDuplicates-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeDuplicates</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;void&nbsp;removeDuplicates(java.util.List&lt;T&gt;&nbsp;list)</pre>
</li>
</ul>
<a name="caseInsensitiveKeyValue-java.util.Map-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>caseInsensitiveKeyValue</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;T&nbsp;caseInsensitiveKeyValue(java.util.Map&lt;java.lang.String,T&gt;&nbsp;map,
java.lang.String&nbsp;key)</pre>
<div class="block">Will search for the key in a case insensitive fashion.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - type of map values</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>map</code> - The map.</dd>
<dd><code>key</code> - The string key</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The value in in the Map for the given case insensitive key.</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><a href="../../sailpoint/tools/Message.html" title="interface in sailpoint.tools"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../sailpoint/tools/Util.IConverter.html" title="interface in sailpoint.tools"><span class="typeNameLink">Next&nbsp;Class</span></a></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><a href="#nested.class.summary">Nested</a>&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 name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>