org.apache.tools.ant.taskdefs
Class 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:
Condition, SelectorContainer

public class Checksum
extends MatchingTask
implements Condition

Used to create or verify file checksums.

Since:
Ant 1.5

Field Summary
 
Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask
fileset
 
Fields inherited from class org.apache.tools.ant.Task
description, location, target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
project
 
Constructor Summary
Checksum()
           
 
Method Summary
 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 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/read
 void 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
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Checksum

public Checksum()
Method Detail

setFile

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


setTodir

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

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.


setProvider

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


setFileext

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


setProperty

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


setTotalproperty

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

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"


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.


setReadBufferSize

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


addFileset

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


execute

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

Overrides:
execute in class Task
Throws:
BuildException - if something goes wrong with the build

eval

public boolean eval()
             throws BuildException
Calculate the checksum(s)

Specified by:
eval in interface Condition
Returns:
Returns true if the checksum verification test passed, false otherwise.
Throws:
BuildException - if an error occurs

decodeHex

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

BuildException


Copyright 2000-2005 Apache Software Foundation. All Rights Reserved.