Package: org.gradle.plugins.signing.signatory

## [Java] Interface Signatory

- A signatory is an object capable of providing a signature for an arbitrary stream of bytes.

- - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `String` | `getName()`
    `void` | `sign(InputStream toSign, OutputStream destination)` Exhausts `toSign`, and writes the signature to `signatureDestination`.
    `byte[]` | `sign(InputStream toSign)` Exhausts `toSign`, and returns the raw signature bytes.

- - ### Method Detail

    - #### public String getName()

      An identifying name for this signatory.

      The name must be constant for the life of the signatory and should uniquely identify it within a project.

    - #### public void sign(InputStream toSign, OutputStream destination)

      Exhausts `toSign`, and writes the signature to `signatureDestination`. The caller is responsible for closing the streams, though the output WILL be flushed.

      Parameters:
        `toSign` - The source of the data to be signed
        `destination` - Where the signature will be written to

    - #### public byte[] sign(InputStream toSign)

      Exhausts `toSign`, and returns the raw signature bytes.

      Parameters:
        `toSign` - The source of the data to be signed
      Returns:
        The raw bytes of the signature