Class Checksum

All Implemented Interfaces:
Cloneable, Condition, SelectorContainer

public class Checksum extends MatchingTask implements Condition
Used to create or verify file checksums.
Since:
Ant 1.5
  • Constructor Details

    • Checksum

      public Checksum()
  • Method Details

    • setFile

      public void setFile(File file)
      Sets the file for which the checksum is to be calculated.
      Parameters:
      file - a File 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
    • 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
    • setProvider

      public void setProvider(String provider)
      Sets the MessageDigest algorithm provider to be used to calculate the checksum.
      Parameters:
      provider - a String 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
    • setProperty

      public void setProperty(String property)
      Sets the property to hold the generated checksum.
      Parameters:
      property - a String value
    • 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
    • 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
    • setReadBufferSize

      public void setReadBufferSize(int size)
      The size of the read buffer to use.
      Parameters:
      size - an int 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 pattern)
      Specify the pattern to use as a MessageFormat pattern.

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

      Parameters:
      pattern - a String 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 BuildException
      Calculate the checksum(s).
      Overrides:
      execute in class Task
      Throws:
      BuildException - on error
    • 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 - on error
    • 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.
      Parameters:
      data - an array of characters representing hexadecimal values
      Returns:
      the converted array of bytes
      Throws:
      BuildException - on error