Package org.eclipse.rdf4j.query.algebra.evaluation.function.hash

## Class HashFunction

- java.lang.Object
- - org.eclipse.rdf4j.query.algebra.evaluation.function.hash.HashFunction

- All Implemented Interfaces:
    `Function`
  Direct Known Subclasses:
    `MD5`, `SHA1`, `SHA256`, `SHA384`, `SHA512`

      public abstract class HashFunction
      extends Object
      implements Function

  Abstract hash function
  Author:
    jeen

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `HashFunction()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract Literal` | `evaluate​(ValueFactory valueFactory, Value... args)` | Evaluate the function over the supplied input arguments, using the supplied `ValueFactory` to produce the result.
    `protected String` | `hash​(String text, String algorithm)` | Calculate hash value, represented as hexadecimal string.

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

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

    - ### Methods inherited from interface org.eclipse.rdf4j.query.algebra.evaluation.function.Function

      `evaluate, getURI, mustReturnDifferentResult`

- - ### Constructor Detail

    - #### HashFunction

          public HashFunction()

  - ### Method Detail

    - #### hash

          protected String hash​(String text,
                                String algorithm)
                         throws NoSuchAlgorithmException

      Calculate hash value, represented as hexadecimal string.
      Parameters:
        `text` - text
        `algorithm` - name of the hash algorithm
      Returns:
        hexadecimal string (padded with leading zeros if needed)
      Throws:
        `NoSuchAlgorithmException`

    - #### evaluate

          public abstract Literal evaluate​(ValueFactory valueFactory,
                                           Value... args)
                                    throws ValueExprEvaluationException

      Description copied from interface: `Function`
      Evaluate the function over the supplied input arguments, using the supplied `ValueFactory` to produce the result.
      Specified by:
        `evaluate` in interface `Function`
      Parameters:
        `valueFactory` - a `ValueFactory` to use for producing the function result.
        `args` - the function input arguments.
      Returns:
        the function result value.
      Throws:
        `ValueExprEvaluationException`