org.apache.tools.ant.taskdefs

Class Checksum

public class Checksum extends MatchingTask implements Condition

Used to create or verify file checksums.

Since: Ant 1.5

UNKNOWN: category="control"

Nested Class Summary
static classChecksum.FormatElement
Helper class for the format attribute.
Method Summary
voidadd(ResourceCollection rc)
Add a resource collection.
voidaddFileset(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.
booleaneval()
Calculate the checksum(s)
voidexecute()
Calculate the checksum(s).
voidsetAlgorithm(String algorithm)
Specifies the algorithm to be used to compute the checksum.
voidsetFile(File file)
Sets the file for which the checksum is to be calculated.
voidsetFileext(String fileext)
Sets the file extension that is be to used to create or identify destination file.
voidsetForceOverwrite(boolean forceOverwrite)
Whether or not to overwrite existing file irrespective of whether it is newer than the source file.
voidsetFormat(Checksum.FormatElement e)
Select the in/output pattern via a well know format name.
voidsetPattern(String p)
Specify the pattern to use as a MessageFormat pattern.
voidsetProperty(String property)
Sets the property to hold the generated checksum.
voidsetProvider(String provider)
Sets the MessageDigest algorithm provider to be used to calculate the checksum.
voidsetReadBufferSize(int size)
The size of the read buffer to use.
voidsetTodir(File todir)
Sets the root directory where checksum files will be written/read
voidsetTotalproperty(String totalproperty)
Sets the property to hold the generated total checksum for all files.
voidsetVerifyproperty(String verifyProperty)
Sets the verify property.

Method Detail

add

public void add(ResourceCollection rc)
Add a resource collection.

Parameters: rc the ResourceCollection to add.

addFileset

public void addFileset(FileSet set)
Files to generate checksums for.

Parameters: set a fileset of files to generate checksums for.

decodeHex

public static byte[] decodeHex(char[] data)
Converts 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

eval

public boolean eval()
Calculate the checksum(s)

Returns: Returns true if the checksum verification test passed, false otherwise.

Throws: BuildException on error

execute

public void execute()
Calculate the checksum(s).

Throws: BuildException on error

setAlgorithm

public void setAlgorithm(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 a String value

setFile

public void setFile(File file)
Sets the file for which the checksum is to be calculated.

Parameters: file a File value

setFileext

public void setFileext(String fileext)
Sets the file extension that is be to used to create or identify destination file.

Parameters: fileext a String 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 a boolean value

setFormat

public void setFormat(Checksum.FormatElement e)
Select the in/output pattern via a well know format name.

Parameters: e an enumerated value

Since: 1.7.0

setPattern

public void setPattern(String p)
Specify the pattern to use as a MessageFormat pattern.

{0} gets replaced by the checksum, {1} by the filename.

Parameters: p a String value

Since: 1.7.0

setProperty

public void setProperty(String property)
Sets the property to hold the generated checksum.

Parameters: property a String value

setProvider

public void setProvider(String provider)
Sets the MessageDigest algorithm provider to be used to calculate the checksum.

Parameters: provider a String value

setReadBufferSize

public void setReadBufferSize(int size)
The size of the read buffer to use.

Parameters: size an int value

setTodir

public void setTodir(File todir)
Sets the root directory where checksum files will be written/read

Parameters: todir the directory to write to

Since: Ant 1.6

setTotalproperty

public void setTotalproperty(String totalproperty)
Sets the property to hold the generated total checksum for all files.

Parameters: totalproperty a String value

Since: Ant 1.6

setVerifyproperty

public void setVerifyproperty(String verifyProperty)
Sets the verify property. This project property holds the result of a checksum verification - "true" or "false"

Parameters: verifyProperty a String value