org.apache.tools.ant.types.selectors.modifiedselector

## Class DigestAlgorithm

- java.lang.Object
- - org.apache.tools.ant.types.selectors.modifiedselector.DigestAlgorithm

- All Implemented Interfaces:
    Algorithm

      public class DigestAlgorithm
      extends java.lang.Object
      implements Algorithm

  Computes a 'hashvalue' for the content of file using java.security.MessageDigest. Use of this algorithm doesn't require any additional nested <param>s. Supported <param>s are:

  Digest algorithm parameters
  name | values | description | required
  --- | --- | --- | ---
  algorithm.algorithm | MD5 | SHA (default provider) | name of the algorithm the provider should use | no, defaults to MD5
  algorithm.provider |  | name of the provider to use | no, defaults to null

  Since:
    Ant 1.6
  Version:
    2004-07-08

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DigestAlgorithm()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getValue(java.io.File file)` Computes a value for a file content with the specified digest algorithm.
    `void` | `initMessageDigest()` Initialize the security message digest.
    `boolean` | `isValid()` This algorithm supports only MD5 and SHA.
    `void` | `setAlgorithm(java.lang.String algorithm)` Specifies the algorithm to be used to compute the checksum.
    `void` | `setProvider(java.lang.String provider)` Sets the MessageDigest algorithm provider to be used to calculate the checksum.
    `java.lang.String` | `toString()` Override Object.toString().

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### DigestAlgorithm

          public DigestAlgorithm()

  - ### Method Detail

    - #### 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` - the digest algorithm to use

    - #### setProvider

          public void setProvider(java.lang.String provider)

      Sets the MessageDigest algorithm provider to be used to calculate the checksum.
      Parameters:
        `provider` - provider to use

    - #### initMessageDigest

          public void initMessageDigest()

      Initialize the security message digest.

    - #### isValid

          public boolean isValid()

      This algorithm supports only MD5 and SHA.
      Specified by:
        `isValid` in interface `Algorithm`
      Returns:
        true if all is ok, otherwise false.

    - #### getValue

          public java.lang.String getValue(java.io.File file)

      Computes a value for a file content with the specified digest algorithm.
      Specified by:
        `getValue` in interface `Algorithm`
      Parameters:
        `file` - File object for which the value should be evaluated.
      Returns:
        The value for that file

    - #### toString

          public java.lang.String toString()

      Override Object.toString().
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        some information about this algorithm.