????
| Current Path : /opt/ant/manual/api/org/apache/tools/ant/types/selectors/ |
| Current File : //opt/ant/manual/api/org/apache/tools/ant/types/selectors/SelectorUtils.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 (version 1.7.0_03) on Tue May 22 06:24:55 CEST 2012 -->
<title>SelectorUtils (Apache Ant API)</title>
<meta name="date" content="2012-05-22">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SelectorUtils (Apache Ant API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorScanner.html" title="interface in org.apache.tools.ant.types.selectors"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectSelector.html" title="class in org.apache.tools.ant.types.selectors"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/tools/ant/types/selectors/SelectorUtils.html" target="_top">Frames</a></li>
<li><a href="SelectorUtils.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All 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: </li>
<li>Nested | </li>
<li><a href="#field_summary">Field</a> | </li>
<li>Constr | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li><a href="#field_detail">Field</a> | </li>
<li>Constr | </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">org.apache.tools.ant.types.selectors</div>
<h2 title="Class SelectorUtils" class="title">Class SelectorUtils</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.tools.ant.types.selectors.SelectorUtils</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public final class <span class="strong">SelectorUtils</span>
extends java.lang.Object</pre>
<div class="block"><p>This is a utility class used by selectors and DirectoryScanner. The
functionality more properly belongs just to selectors, but unfortunately
DirectoryScanner exposed these as protected methods. Thus we have to
support any subclasses of DirectoryScanner that may access these methods.
</p>
<p>This is a Singleton.</p></div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>1.5</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd"> </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><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#DEEP_TREE_MATCH">DEEP_TREE_MATCH</a></strong></code>
<div class="block">The pattern that matches an arbitrary number of directories.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html" title="class in org.apache.tools.ant.types.selectors">SelectorUtils</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#getInstance()">getInstance</a></strong>()</code>
<div class="block">Retrieves the instance of the Singleton.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#hasWildcards(java.lang.String)">hasWildcards</a></strong>(java.lang.String input)</code>
<div class="block">Tests if a string contains stars or question marks</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#isOutOfDate(java.io.File, java.io.File, int)">isOutOfDate</a></strong>(java.io.File src,
java.io.File target,
int granularity)</code>
<div class="block">Returns dependency information on these two files.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#isOutOfDate(org.apache.tools.ant.types.Resource, org.apache.tools.ant.types.Resource, int)">isOutOfDate</a></strong>(<a href="../../../../../../org/apache/tools/ant/types/Resource.html" title="class in org.apache.tools.ant.types">Resource</a> src,
<a href="../../../../../../org/apache/tools/ant/types/Resource.html" title="class in org.apache.tools.ant.types">Resource</a> target,
int granularity)</code>
<div class="block">Returns dependency information on these two resources.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#isOutOfDate(org.apache.tools.ant.types.Resource, org.apache.tools.ant.types.Resource, long)">isOutOfDate</a></strong>(<a href="../../../../../../org/apache/tools/ant/types/Resource.html" title="class in org.apache.tools.ant.types">Resource</a> src,
<a href="../../../../../../org/apache/tools/ant/types/Resource.html" title="class in org.apache.tools.ant.types">Resource</a> target,
long granularity)</code>
<div class="block">Returns dependency information on these two resources.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#match(java.lang.String, java.lang.String)">match</a></strong>(java.lang.String pattern,
java.lang.String str)</code>
<div class="block">Tests whether or not a string matches against a pattern.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#match(java.lang.String, java.lang.String, boolean)">match</a></strong>(java.lang.String pattern,
java.lang.String str,
boolean caseSensitive)</code>
<div class="block">Tests whether or not a string matches against a pattern.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#matchPath(java.lang.String, java.lang.String)">matchPath</a></strong>(java.lang.String pattern,
java.lang.String str)</code>
<div class="block">Tests whether or not a given path matches a given pattern.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#matchPath(java.lang.String, java.lang.String, boolean)">matchPath</a></strong>(java.lang.String pattern,
java.lang.String str,
boolean isCaseSensitive)</code>
<div class="block">Tests whether or not a given path matches a given pattern.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#matchPatternStart(java.lang.String, java.lang.String)">matchPatternStart</a></strong>(java.lang.String pattern,
java.lang.String str)</code>
<div class="block">Tests whether or not a given path matches the start of a given
pattern up to the first "**".</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#matchPatternStart(java.lang.String, java.lang.String, boolean)">matchPatternStart</a></strong>(java.lang.String pattern,
java.lang.String str,
boolean isCaseSensitive)</code>
<div class="block">Tests whether or not a given path matches the start of a given
pattern up to the first "**".</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#removeWhitespace(java.lang.String)">removeWhitespace</a></strong>(java.lang.String input)</code>
<div class="block">"Flattens" a string by removing all whitespace (space, tab, linefeed,
carriage return, and formfeed).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#rtrimWildcardTokens(java.lang.String)">rtrimWildcardTokens</a></strong>(java.lang.String input)</code>
<div class="block">removes from a pattern all tokens to the right containing wildcards</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.Vector</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#tokenizePath(java.lang.String)">tokenizePath</a></strong>(java.lang.String path)</code>
<div class="block">Breaks a path up into a Vector of path elements, tokenizing on
<code>File.separator</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.util.Vector</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html#tokenizePath(java.lang.String, java.lang.String)">tokenizePath</a></strong>(java.lang.String path,
java.lang.String separator)</code>
<div class="block">Breaks a path up into a Vector of path elements, tokenizing on</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class 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="DEEP_TREE_MATCH">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEEP_TREE_MATCH</h4>
<pre>public static final java.lang.String DEEP_TREE_MATCH</pre>
<div class="block">The pattern that matches an arbitrary number of directories.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.8.0</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.tools.ant.types.selectors.SelectorUtils.DEEP_TREE_MATCH">Constant Field Values</a></dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getInstance()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstance</h4>
<pre>public static <a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorUtils.html" title="class in org.apache.tools.ant.types.selectors">SelectorUtils</a> getInstance()</pre>
<div class="block">Retrieves the instance of the Singleton.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>singleton instance</dd></dl>
</li>
</ul>
<a name="matchPatternStart(java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>matchPatternStart</h4>
<pre>public static boolean matchPatternStart(java.lang.String pattern,
java.lang.String str)</pre>
<div class="block">Tests whether or not a given path matches the start of a given
pattern up to the first "**".
<p>
This is not a general purpose test and should only be used if you
can live with false positives. For example, <code>pattern=**\a</code>
and <code>str=b</code> will yield <code>true</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pattern</code> - The pattern to match against. Must not be
<code>null</code>.</dd><dd><code>str</code> - The path to match, as a String. Must not be
<code>null</code>.</dd>
<dt><span class="strong">Returns:</span></dt><dd>whether or not a given path matches the start of a given
pattern up to the first "**".</dd></dl>
</li>
</ul>
<a name="matchPatternStart(java.lang.String, java.lang.String, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>matchPatternStart</h4>
<pre>public static boolean matchPatternStart(java.lang.String pattern,
java.lang.String str,
boolean isCaseSensitive)</pre>
<div class="block">Tests whether or not a given path matches the start of a given
pattern up to the first "**".
<p>
This is not a general purpose test and should only be used if you
can live with false positives. For example, <code>pattern=**\a</code>
and <code>str=b</code> will yield <code>true</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pattern</code> - The pattern to match against. Must not be
<code>null</code>.</dd><dd><code>str</code> - The path to match, as a String. Must not be
<code>null</code>.</dd><dd><code>isCaseSensitive</code> - Whether or not matching should be performed
case sensitively.</dd>
<dt><span class="strong">Returns:</span></dt><dd>whether or not a given path matches the start of a given
pattern up to the first "**".</dd></dl>
</li>
</ul>
<a name="matchPath(java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>matchPath</h4>
<pre>public static boolean matchPath(java.lang.String pattern,
java.lang.String str)</pre>
<div class="block">Tests whether or not a given path matches a given pattern.
If you need to call this method multiple times with the same
pattern you should rather use TokenizedPath</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pattern</code> - The pattern to match against. Must not be
<code>null</code>.</dd><dd><code>str</code> - The path to match, as a String. Must not be
<code>null</code>.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the pattern matches against the string,
or <code>false</code> otherwise.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/tools/ant/types/selectors/TokenizedPath.html" title="class in org.apache.tools.ant.types.selectors"><code>TokenizedPath</code></a></dd></dl>
</li>
</ul>
<a name="matchPath(java.lang.String, java.lang.String, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>matchPath</h4>
<pre>public static boolean matchPath(java.lang.String pattern,
java.lang.String str,
boolean isCaseSensitive)</pre>
<div class="block">Tests whether or not a given path matches a given pattern.
If you need to call this method multiple times with the same
pattern you should rather use TokenizedPattern</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pattern</code> - The pattern to match against. Must not be
<code>null</code>.</dd><dd><code>str</code> - The path to match, as a String. Must not be
<code>null</code>.</dd><dd><code>isCaseSensitive</code> - Whether or not matching should be performed
case sensitively.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the pattern matches against the string,
or <code>false</code> otherwise.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/tools/ant/types/selectors/TokenizedPattern.html" title="class in org.apache.tools.ant.types.selectors"><code>TokenizedPattern</code></a></dd></dl>
</li>
</ul>
<a name="match(java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>match</h4>
<pre>public static boolean match(java.lang.String pattern,
java.lang.String str)</pre>
<div class="block">Tests whether or not a string matches against a pattern.
The pattern may contain two special characters:<br>
'*' means zero or more characters<br>
'?' means one and only one character</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pattern</code> - The pattern to match against.
Must not be <code>null</code>.</dd><dd><code>str</code> - The string which must be matched against the pattern.
Must not be <code>null</code>.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the string matches against the pattern,
or <code>false</code> otherwise.</dd></dl>
</li>
</ul>
<a name="match(java.lang.String, java.lang.String, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>match</h4>
<pre>public static boolean match(java.lang.String pattern,
java.lang.String str,
boolean caseSensitive)</pre>
<div class="block">Tests whether or not a string matches against a pattern.
The pattern may contain two special characters:<br>
'*' means zero or more characters<br>
'?' means one and only one character</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pattern</code> - The pattern to match against.
Must not be <code>null</code>.</dd><dd><code>str</code> - The string which must be matched against the pattern.
Must not be <code>null</code>.</dd><dd><code>caseSensitive</code> - Whether or not matching should be performed
case sensitively.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the string matches against the pattern,
or <code>false</code> otherwise.</dd></dl>
</li>
</ul>
<a name="tokenizePath(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tokenizePath</h4>
<pre>public static java.util.Vector tokenizePath(java.lang.String path)</pre>
<div class="block">Breaks a path up into a Vector of path elements, tokenizing on
<code>File.separator</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>path</code> - Path to tokenize. Must not be <code>null</code>.</dd>
<dt><span class="strong">Returns:</span></dt><dd>a Vector of path elements from the tokenized path</dd></dl>
</li>
</ul>
<a name="tokenizePath(java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tokenizePath</h4>
<pre>public static java.util.Vector tokenizePath(java.lang.String path,
java.lang.String separator)</pre>
<div class="block">Breaks a path up into a Vector of path elements, tokenizing on</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>path</code> - Path to tokenize. Must not be <code>null</code>.</dd><dd><code>separator</code> - the separator against which to tokenize.</dd>
<dt><span class="strong">Returns:</span></dt><dd>a Vector of path elements from the tokenized path</dd><dt><span class="strong">Since:</span></dt>
<dd>Ant 1.6</dd></dl>
</li>
</ul>
<a name="isOutOfDate(java.io.File, java.io.File, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOutOfDate</h4>
<pre>public static boolean isOutOfDate(java.io.File src,
java.io.File target,
int granularity)</pre>
<div class="block">Returns dependency information on these two files. If src has been
modified later than target, it returns true. If target doesn't exist,
it likewise returns true. Otherwise, target is newer than src and
is not out of date, thus the method returns false. It also returns
false if the src file doesn't even exist, since how could the
target then be out of date.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>src</code> - the original file</dd><dd><code>target</code> - the file being compared against</dd><dd><code>granularity</code> - the amount in seconds of slack we will give in
determining out of dateness</dd>
<dt><span class="strong">Returns:</span></dt><dd>whether the target is out of date</dd></dl>
</li>
</ul>
<a name="isOutOfDate(org.apache.tools.ant.types.Resource, org.apache.tools.ant.types.Resource, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOutOfDate</h4>
<pre>public static boolean isOutOfDate(<a href="../../../../../../org/apache/tools/ant/types/Resource.html" title="class in org.apache.tools.ant.types">Resource</a> src,
<a href="../../../../../../org/apache/tools/ant/types/Resource.html" title="class in org.apache.tools.ant.types">Resource</a> target,
int granularity)</pre>
<div class="block">Returns dependency information on these two resources. If src has been
modified later than target, it returns true. If target doesn't exist,
it likewise returns true. Otherwise, target is newer than src and
is not out of date, thus the method returns false. It also returns
false if the src file doesn't even exist, since how could the
target then be out of date.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>src</code> - the original resource</dd><dd><code>target</code> - the resource being compared against</dd><dd><code>granularity</code> - the int amount in seconds of slack we will give in
determining out of dateness</dd>
<dt><span class="strong">Returns:</span></dt><dd>whether the target is out of date</dd></dl>
</li>
</ul>
<a name="isOutOfDate(org.apache.tools.ant.types.Resource, org.apache.tools.ant.types.Resource, long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOutOfDate</h4>
<pre>public static boolean isOutOfDate(<a href="../../../../../../org/apache/tools/ant/types/Resource.html" title="class in org.apache.tools.ant.types">Resource</a> src,
<a href="../../../../../../org/apache/tools/ant/types/Resource.html" title="class in org.apache.tools.ant.types">Resource</a> target,
long granularity)</pre>
<div class="block">Returns dependency information on these two resources. If src has been
modified later than target, it returns true. If target doesn't exist,
it likewise returns true. Otherwise, target is newer than src and
is not out of date, thus the method returns false. It also returns
false if the src file doesn't even exist, since how could the
target then be out of date.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>src</code> - the original resource</dd><dd><code>target</code> - the resource being compared against</dd><dd><code>granularity</code> - the long amount in seconds of slack we will give in
determining out of dateness</dd>
<dt><span class="strong">Returns:</span></dt><dd>whether the target is out of date</dd></dl>
</li>
</ul>
<a name="removeWhitespace(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeWhitespace</h4>
<pre>public static java.lang.String removeWhitespace(java.lang.String input)</pre>
<div class="block">"Flattens" a string by removing all whitespace (space, tab, linefeed,
carriage return, and formfeed). This uses StringTokenizer and the
default set of tokens as documented in the single arguement constructor.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>input</code> - a String to remove all whitespace.</dd>
<dt><span class="strong">Returns:</span></dt><dd>a String that has had all whitespace removed.</dd></dl>
</li>
</ul>
<a name="hasWildcards(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasWildcards</h4>
<pre>public static boolean hasWildcards(java.lang.String input)</pre>
<div class="block">Tests if a string contains stars or question marks</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>input</code> - a String which one wants to test for containing wildcard</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if the string contains at least a star or a question mark</dd></dl>
</li>
</ul>
<a name="rtrimWildcardTokens(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>rtrimWildcardTokens</h4>
<pre>public static java.lang.String rtrimWildcardTokens(java.lang.String input)</pre>
<div class="block">removes from a pattern all tokens to the right containing wildcards</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>input</code> - the input string</dd>
<dt><span class="strong">Returns:</span></dt><dd>the leftmost part of the pattern without wildcards</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectorScanner.html" title="interface in org.apache.tools.ant.types.selectors"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/tools/ant/types/selectors/SelectSelector.html" title="class in org.apache.tools.ant.types.selectors"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/tools/ant/types/selectors/SelectorUtils.html" target="_top">Frames</a></li>
<li><a href="SelectorUtils.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All 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: </li>
<li>Nested | </li>
<li><a href="#field_summary">Field</a> | </li>
<li>Constr | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li><a href="#field_detail">Field</a> | </li>
<li>Constr | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>