org.apache.tools.ant.taskdefsClass Checksum
- java.lang.Object
- org.apache.tools.ant.ProjectComponent
- org.apache.tools.ant.Task
- org.apache.tools.ant.taskdefs.MatchingTask
- org.apache.tools.ant.taskdefs.Checksum
- All Implemented Interfaces:
- java.lang.Cloneable, Condition, SelectorContainer
public class Checksum extends MatchingTask implements ConditionUsed to create or verify file checksums.
- Since:
- Ant 1.5
Nested Class Summary
Nested Classes Modifier and Type Class and Description static class
Checksum.FormatElement
Helper class for the format attribute.
Field Summary
Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask
fileset
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
Constructor Summary
Constructors Constructor and Description Checksum()
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description void
add(ResourceCollection rc)
Add a resource collection.void
addFileset(FileSet set)
Files to generate checksums for.static byte[]
decodeHex(char[] data)
Converts an array of characters representing hexadecimal values into an array of bytes of those same values.boolean
eval()
Calculate the checksum(s)void
execute()
Calculate the checksum(s).void
setAlgorithm(java.lang.String algorithm)
Specifies the algorithm to be used to compute the checksum.void
setFile(java.io.File file)
Sets the file for which the checksum is to be calculated.void
setFileext(java.lang.String fileext)
Sets the file extension that is be to used to create or identify destination file.void
setForceOverwrite(boolean forceOverwrite)
Whether or not to overwrite existing file irrespective of whether it is newer than the source file.void
setFormat(Checksum.FormatElement e)
Select the in/output pattern via a well know format name.void
setPattern(java.lang.String p)
Specify the pattern to use as a MessageFormat pattern.void
setProperty(java.lang.String property)
Sets the property to hold the generated checksum.void
setProvider(java.lang.String provider)
Sets the MessageDigest algorithm provider to be used to calculate the checksum.void
setReadBufferSize(int size)
The size of the read buffer to use.void
setTodir(java.io.File todir)
Sets the root directory where checksum files will be written/readvoid
setTotalproperty(java.lang.String totalproperty)
Sets the property to hold the generated total checksum for all files.void
setVerifyproperty(java.lang.String verifyProperty)
Sets the verify property.
Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask
add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation
Method Detail
setFile
public void setFile(java.io.File file)Sets the file for which the checksum is to be calculated.
- Parameters:
file
- aFile
value
setTodir
public void setTodir(java.io.File todir)Sets the root directory where checksum files will be written/read
- Parameters:
todir
- the directory to write to- Since:
- Ant 1.6
setAlgorithm
public void setAlgorithm(java.lang.String algorithm)Specifies the algorithm to be used to compute the checksum. Defaults to "MD5". Other popular algorithms like "SHA" may be used as well.
- Parameters:
algorithm
- aString
value
setProvider
public void setProvider(java.lang.String provider)Sets the MessageDigest algorithm provider to be used to calculate the checksum.
- Parameters:
provider
- aString
value
setFileext
public void setFileext(java.lang.String fileext)Sets the file extension that is be to used to create or identify destination file.
- Parameters:
fileext
- aString
value
setProperty
public void setProperty(java.lang.String property)Sets the property to hold the generated checksum.
- Parameters:
property
- aString
value
setTotalproperty
public void setTotalproperty(java.lang.String totalproperty)Sets the property to hold the generated total checksum for all files.
- Parameters:
totalproperty
- aString
value- Since:
- Ant 1.6
setVerifyproperty
public void setVerifyproperty(java.lang.String verifyProperty)Sets the verify property. This project property holds the result of a checksum verification - "true" or "false"
- Parameters:
verifyProperty
- aString
value
setForceOverwrite
public void setForceOverwrite(boolean forceOverwrite)Whether or not to overwrite existing file irrespective of whether it is newer than the source file. Defaults to false.
- Parameters:
forceOverwrite
- aboolean
value
setReadBufferSize
public void setReadBufferSize(int size)The size of the read buffer to use.
- Parameters:
size
- anint
value
setFormat
public void setFormat(Checksum.FormatElement e)Select the in/output pattern via a well know format name.
- Parameters:
e
- anenumerated
value- Since:
- 1.7.0
setPattern
public void setPattern(java.lang.String p)Specify the pattern to use as a MessageFormat pattern.{0} gets replaced by the checksum, {1} by the filename.
- Parameters:
p
- aString
value- Since:
- 1.7.0
addFileset
public void addFileset(FileSet set)Files to generate checksums for.
- Parameters:
set
- a fileset of files to generate checksums for.
add
public void add(ResourceCollection rc)Add a resource collection.
- Parameters:
rc
- the ResourceCollection to add.
execute
public void execute() throws BuildExceptionCalculate the checksum(s).
- Overrides:
execute
in classTask
- Throws:
BuildException
- on error
eval
public boolean eval() throws BuildExceptionCalculate the checksum(s)
- Specified by:
eval
in interfaceCondition
- Returns:
- Returns true if the checksum verification test passed, false otherwise.
- Throws:
BuildException
- on error
decodeHex
public static byte[] decodeHex(char[] data) throws BuildExceptionConverts an array of characters representing hexadecimal values into an array of bytes of those same values. The returned array will be half the length of the passed array, as it takes two characters to represent any given byte. An exception is thrown if the passed char array has an odd number of elements. NOTE: This code is copied from jakarta-commons codec.
- Parameters:
data
- an array of characters representing hexadecimal values- Returns:
- the converted array of bytes
- Throws:
BuildException
- on error