# Package org.apache.tools.ant.util

Interface Summary
FileNameMapper: Interface to be used by SourceFileScanner.
ResourceUtils.ResourceSelectorProvider
Retryable: Simple interface for executing a piece of code.
TimeoutObserver: Interface for classes that want to be notified by Watchdog.
Tokenizer: input stream tokenizers implement this interface

Class Summary
Base64Converter: BASE 64 encoding of a String or an array of bytes.
ChainedMapper: A `ContainerMapper` that chains the results of the first nested `FileNameMapper`s into sourcefiles for the second, the second to the third, and so on, returning the resulting mapped filenames from the last nested `FileNameMapper`.
ClasspathUtils: Offers some helper methods on the Path structure in ant.
ClasspathUtils.Delegate: Delegate that helps out any specific ProjectComponent that needs dynamic classloading.
CollectionUtils: A set of helper methods related to collection manipulation.
CollectionUtils.EmptyEnumeration<E>: An empty enumeration.
CompositeMapper: A `ContainerMapper` that unites the results of its constituent `FileNameMapper`s into a single set of result filenames.
ConcatFileInputStream: Special `InputStream` that will concatenate the contents of an array of files.
ConcatResourceInputStream: Special `InputStream` that will concatenate the contents of Resources from a single ResourceCollection.
ContainerMapper: A `FileNameMapper` that contains other `FileNameMapper`s.
DateUtils: Helper methods to deal with date/time formatting with a specific defined format (ISO8601) or a plurialization correct elapsed time in minutes and seconds.
DeweyDecimal: Utility class to contain version numbers in "Dewey Decimal" syntax.
DOMElementWriter: Writes a DOM tree to a given Writer.
DOMElementWriter.XmlNamespacePolicy: Whether namespaces should be ignored for elements and attributes.
DOMUtils: Some utility methods for common tasks when building DOM trees in memory.
FileTokenizer: Class to read the complete input into a string.
FileUtils: This class also encapsulates methods which allow Files to be referred to using abstract path names which are translated to native system file paths at runtime as well as copying files or setting their last modification time.
FirstMatchMapper: A `ContainerMapper` that returns the results of its first constituent `FileNameMapper`s that matches.
FlatFileNameMapper: Implementation of FileNameMapper that always returns the source file name without any leading directory information.
GlobPatternMapper: Implementation of FileNameMapper that does simple wildcard pattern replacements.
IdentityMapper: Implementation of FileNameMapper that always returns the source file name.
IdentityStack<E>: Identity Stack.
JavaEnvUtils: A set of helper methods related to locating executables or checking conditions of a given Java installation.
JAXPUtils: Collection of helper methods that retrieve a ParserFactory or Parsers and Readers.
KeepAliveInputStream: Class that can be used to wrap `System.in` without getting anxious about any client closing the stream.
KeepAliveOutputStream: Class that can be used to wrap `System.out` and `System.err` without getting anxious about any client closing the stream.
LayoutPreservingProperties: A Properties collection which preserves comments and whitespace present in the input stream from which it was loaded.
LazyFileOutputStream: Class that delays opening the output file until the first bytes shall be written or the method `open` has been invoked explicitly.
LazyHashtable: Hashtable implementation that allows delayed construction of expensive objects All operations that need access to the full list of objects will call initAll() first.
LeadPipeInputStream: Special `PipedInputStream` that will not die when the writing `Thread` is no longer alive.
LineOrientedOutputStream: Invokes `processLine` whenever a full line has been written to this stream.
LineOrientedOutputStreamRedirector: Output stream which buffer and redirect a stream line by line.
LineTokenizer: class to tokenize the input as lines separated by \r (mac style), \r\n (dos/windows style) or \n (unix style)
LinkedHashtable<K,V>: Subclass of Hashtable that wraps a LinkedHashMap to provide predictable iteration order.
LoaderUtils: ClassLoader utility methods
MergingMapper: Implementation of FileNameMapper that always returns the same target file name.
Native2AsciiUtils: Contains helper methods for Ant's built-in implementation of native2ascii.
OutputStreamFunneler: Manages a set of `OutputStream`s to write to a single underlying stream, which is closed only when the last "funnel" has been closed.
PackageNameMapper: Maps directory name matches into a dotted package name.
PermissionUtils: Contains helper methods for dealing with `PosixFilePermission` or the traditional Unix mode representation of permissions.
ProcessUtil: Process Utilities
PropertyOutputStream: Exception thrown when an attempt is made to get an OutputStream from an immutable Resource.
ProxySetup: Code to do proxy setup.
ReaderInputStream: Adapts a `Reader` as an `InputStream`.
ReflectUtil: Utility class to handle reflection on java objects.
ReflectWrapper: Utility class to handle reflection on java objects.
RegexpPatternMapper: Implementation of FileNameMapper that does regular expression replacements.
ResourceUtils: This class provides utility methods to process Resources.
RetryHandler: A simple utility class to take a piece of code (that implements `Retryable` interface) and executes that with possibility to retry the execution in case of IOException.
ScriptFixBSFPath: A class to modify a classloader to support BSF language support.
ScriptRunner: Deprecated Implementation moved to another location.
ScriptRunnerBase: This is a common abstract base case for script runners.
ScriptRunnerCreator: This is a helper class used by ScriptRunnerHelper to create a ScriptRunner based on a classloader and on a language.
ScriptRunnerHelper: A class to help in creating, setting and getting script runners.
SourceFileScanner: Utility class that collects the functionality of the various scanDir methods that have been scattered in several tasks before.
SplitClassLoader: Specialized classloader for tasks that need finer grained control over which classes are to be loaded via Ant's classloader and which should not even if they are available.
StringTokenizer: Class to tokenize the input as areas separated by white space, or by a specified list of delim characters.
StringUtils: A set of helper methods related to string manipulation.
SymbolicLinkUtils: Contains methods related to symbolic links - or what Ant thinks is a symbolic link based on the absent support for them in Java.
TaskLogger: A facade that makes logging nicer to use.
TeeOutputStream: A simple T-piece to replicate an output stream into two separate streams
UnicodeUtil: Contains one helper method to create a backslash u escape
UnPackageNameMapper: Maps dotted package name matches to a directory name.
UUEncoder: UUEncoding of an input stream placed into an outputstream.
VectorSet<E>: Subclass of Vector that won't store duplicate entries and shows HashSet's constant time performance characteristics for the contains method.
Watchdog: Generalization of `ExecuteWatchdog`
WeakishReference: Deprecated deprecated 1.7; will be removed in Ant1.8 Just use `WeakReference` directly.
WeakishReference.HardReference: Deprecated since 1.7.
WorkerAnt: A worker ant executes a single task in a background thread.
XmlConstants: XML Parser constants, all kept in one place for ease of reuse
XMLFragment: Use this class as a nested element if you want to get a literal DOM fragment of something nested into your task/type.

Enum Summary
PermissionUtils.FileType: The supported types of files, maps to the `isFoo` methods in `BasicFileAttributes`.

Exception Summary
ResourceUtils.ReadOnlyTargetFileException