org.apache.tools.ant.util

Class ResourceUtils

public class ResourceUtils extends Object

This class provides utility methods to process Resources.

Since: Ant 1.5.2

Nested Class Summary
static interfaceResourceUtils.ResourceSelectorProvider
Field Summary
static StringISO_8859_1
Name of charset "ISO Latin Alphabet No.
Method Summary
static FileResourceasFileResource(FileProvider fileProvider)
Convenience method to turn any fileProvider into a basic FileResource with the file's immediate parent as the basedir, for tasks that need one.
static intcompareContent(Resource r1, Resource r2, boolean text)
Compare the content of two Resources.
static booleancontentEquals(Resource r1, Resource r2, boolean text)
Compares the contents of two Resources.
static voidcopyResource(Resource source, Resource dest)
Convenience method to copy content from one Resource to another.
static voidcopyResource(Resource source, Resource dest, Project project)
Convenience method to copy content from one Resource to another.
static voidcopyResource(Resource source, Resource dest, FilterSetCollection filters, Vector filterChains, boolean overwrite, boolean preserveLastModified, String inputEncoding, String outputEncoding, Project project)
Convenience method to copy content from one Resource to another specifying whether token filtering must be used, whether filter chains must be used, whether newer destination files may be overwritten and whether the last modified time of dest file should be made equal to the last modified time of source.
static voidcopyResource(Resource source, Resource dest, FilterSetCollection filters, Vector filterChains, boolean overwrite, boolean preserveLastModified, boolean append, String inputEncoding, String outputEncoding, Project project)
Convenience method to copy content from one Resource to another specifying whether token filtering must be used, whether filter chains must be used, whether newer destination files may be overwritten and whether the last modified time of dest file should be made equal to the last modified time of source.
static voidcopyResource(Resource source, Resource dest, FilterSetCollection filters, Vector filterChains, boolean overwrite, boolean preserveLastModified, boolean append, String inputEncoding, String outputEncoding, Project project, boolean force)
Convenience method to copy content from one Resource to another specifying whether token filtering must be used, whether filter chains must be used, whether newer destination files may be overwritten and whether the last modified time of dest file should be made equal to the last modified time of source.
static Resource[]selectOutOfDateSources(ProjectComponent logTo, Resource[] source, FileNameMapper mapper, ResourceFactory targets)
Tells which source files should be reprocessed based on the last modification date of target files.
static Resource[]selectOutOfDateSources(ProjectComponent logTo, Resource[] source, FileNameMapper mapper, ResourceFactory targets, long granularity)
Tells which source files should be reprocessed based on the last modification date of target files.
static ResourceCollectionselectOutOfDateSources(ProjectComponent logTo, ResourceCollection source, FileNameMapper mapper, ResourceFactory targets, long granularity)
Tells which sources should be reprocessed based on the last modification date of targets.
static ResourceCollectionselectSources(ProjectComponent logTo, ResourceCollection source, FileNameMapper mapper, ResourceFactory targets, ResourceUtils.ResourceSelectorProvider selector)
Tells which sources should be reprocessed because the given selector selects at least one target.
static voidsetLastModified(Touchable t, long time)
Set the last modified time of an object implementing org.apache.tools.ant.types.resources.Touchable .

Field Detail

ISO_8859_1

public static final String ISO_8859_1
Name of charset "ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1".

Since: Ant 1.8.1

Method Detail

asFileResource

public static FileResource asFileResource(FileProvider fileProvider)
Convenience method to turn any fileProvider into a basic FileResource with the file's immediate parent as the basedir, for tasks that need one.

Parameters: fileProvider input

Returns: fileProvider if it is a FileResource instance, or a new FileResource with fileProvider's file.

Since: Ant 1.8

compareContent

public static int compareContent(Resource r1, Resource r2, boolean text)
Compare the content of two Resources. A nonexistent Resource's content is "less than" that of an existing Resource; a directory-type Resource's content is "less than" that of a file-type Resource.

Parameters: r1 the Resource whose content is to be compared. r2 the other Resource whose content is to be compared. text true if the content is to be treated as text and differences in kind of line break are to be ignored.

Returns: a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

Throws: IOException if the Resources cannot be read.

Since: Ant 1.7

contentEquals

public static boolean contentEquals(Resource r1, Resource r2, boolean text)
Compares the contents of two Resources.

Parameters: r1 the Resource whose content is to be compared. r2 the other Resource whose content is to be compared. text true if the content is to be treated as text and differences in kind of line break are to be ignored.

Returns: true if the content of the Resources is the same.

Throws: IOException if the Resources cannot be read.

Since: Ant 1.7

copyResource

public static void copyResource(Resource source, Resource dest)
Convenience method to copy content from one Resource to another. No filtering is performed.

Parameters: source the Resource to copy from. Must not be null. dest the Resource to copy to. Must not be null.

Throws: IOException if the copying fails.

Since: Ant 1.7

copyResource

public static void copyResource(Resource source, Resource dest, Project project)
Convenience method to copy content from one Resource to another. No filtering is performed.

Parameters: source the Resource to copy from. Must not be null. dest the Resource to copy to. Must not be null. project the project instance.

Throws: IOException if the copying fails.

Since: Ant 1.7

copyResource

public static void copyResource(Resource source, Resource dest, FilterSetCollection filters, Vector filterChains, boolean overwrite, boolean preserveLastModified, String inputEncoding, String outputEncoding, Project project)
Convenience method to copy content from one Resource to another specifying whether token filtering must be used, whether filter chains must be used, whether newer destination files may be overwritten and whether the last modified time of dest file should be made equal to the last modified time of source.

Parameters: source the Resource to copy from. Must not be null. dest the Resource to copy to. Must not be null. filters the collection of filters to apply to this copy. filterChains filterChains to apply during the copy. overwrite Whether or not the destination Resource should be overwritten if it already exists. preserveLastModified Whether or not the last modified time of the destination Resource should be set to that of the source. inputEncoding the encoding used to read the files. outputEncoding the encoding used to write the files. project the project instance.

Throws: IOException if the copying fails.

Since: Ant 1.7

copyResource

public static void copyResource(Resource source, Resource dest, FilterSetCollection filters, Vector filterChains, boolean overwrite, boolean preserveLastModified, boolean append, String inputEncoding, String outputEncoding, Project project)
Convenience method to copy content from one Resource to another specifying whether token filtering must be used, whether filter chains must be used, whether newer destination files may be overwritten and whether the last modified time of dest file should be made equal to the last modified time of source.

Parameters: source the Resource to copy from. Must not be null. dest the Resource to copy to. Must not be null. filters the collection of filters to apply to this copy. filterChains filterChains to apply during the copy. overwrite Whether or not the destination Resource should be overwritten if it already exists. preserveLastModified Whether or not the last modified time of the destination Resource should be set to that of the source. append Whether to append to an Appendable Resource. inputEncoding the encoding used to read the files. outputEncoding the encoding used to write the files. project the project instance.

Throws: IOException if the copying fails.

Since: Ant 1.8

copyResource

public static void copyResource(Resource source, Resource dest, FilterSetCollection filters, Vector filterChains, boolean overwrite, boolean preserveLastModified, boolean append, String inputEncoding, String outputEncoding, Project project, boolean force)
Convenience method to copy content from one Resource to another specifying whether token filtering must be used, whether filter chains must be used, whether newer destination files may be overwritten and whether the last modified time of dest file should be made equal to the last modified time of source.

Parameters: source the Resource to copy from. Must not be null. dest the Resource to copy to. Must not be null. filters the collection of filters to apply to this copy. filterChains filterChains to apply during the copy. overwrite Whether or not the destination Resource should be overwritten if it already exists. preserveLastModified Whether or not the last modified time of the destination Resource should be set to that of the source. append Whether to append to an Appendable Resource. inputEncoding the encoding used to read the files. outputEncoding the encoding used to write the files. project the project instance. force whether read-only taret files will be overwritten

Throws: IOException if the copying fails.

Since: Ant 1.8.2

selectOutOfDateSources

public static Resource[] selectOutOfDateSources(ProjectComponent logTo, Resource[] source, FileNameMapper mapper, ResourceFactory targets)
Tells which source files should be reprocessed based on the last modification date of target files.

Parameters: logTo where to send (more or less) interesting output. source array of resources bearing relative path and last modification date. mapper filename mapper indicating how to find the target files. targets object able to map as a resource a relative path at destination.

Returns: array containing the source files which need to be copied or processed, because the targets are out of date or do not exist.

selectOutOfDateSources

public static Resource[] selectOutOfDateSources(ProjectComponent logTo, Resource[] source, FileNameMapper mapper, ResourceFactory targets, long granularity)
Tells which source files should be reprocessed based on the last modification date of target files.

Parameters: logTo where to send (more or less) interesting output. source array of resources bearing relative path and last modification date. mapper filename mapper indicating how to find the target files. targets object able to map as a resource a relative path at destination. granularity The number of milliseconds leeway to give before deciding a target is out of date.

Returns: array containing the source files which need to be copied or processed, because the targets are out of date or do not exist.

Since: Ant 1.6.2

selectOutOfDateSources

public static ResourceCollection selectOutOfDateSources(ProjectComponent logTo, ResourceCollection source, FileNameMapper mapper, ResourceFactory targets, long granularity)
Tells which sources should be reprocessed based on the last modification date of targets.

Parameters: logTo where to send (more or less) interesting output. source ResourceCollection. mapper filename mapper indicating how to find the target Resources. targets object able to map a relative path as a Resource. granularity The number of milliseconds leeway to give before deciding a target is out of date.

Returns: ResourceCollection.

Since: Ant 1.7

selectSources

public static ResourceCollection selectSources(ProjectComponent logTo, ResourceCollection source, FileNameMapper mapper, ResourceFactory targets, ResourceUtils.ResourceSelectorProvider selector)
Tells which sources should be reprocessed because the given selector selects at least one target.

Parameters: logTo where to send (more or less) interesting output. source ResourceCollection. mapper filename mapper indicating how to find the target Resources. targets object able to map a relative path as a Resource. selector returns a selector that is applied to target files. If it selects at least one target the source will be added to the returned collection.

Returns: ResourceCollection.

Since: Ant 1.8.0

setLastModified

public static void setLastModified(Touchable t, long time)
Set the last modified time of an object implementing org.apache.tools.ant.types.resources.Touchable .

Parameters: t the Touchable whose modified time is to be set. time the time to which the last modified time is to be set. if this is -1, the current time is used.

Since: Ant 1.7