# Interface SignatureType

All Known Implementing Classes:
  `AbstractSignatureType, ArmoredSignatureType, BinarySignatureType`

public interface SignatureType
The type of signature.

Since:
  1.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `combinedExtension(File toSign)`
  Combines the extension of the given file with the expected signature extension.
  `File`
  `fileFor(File toSign)`
  Calculates the file where to store the signature of the given file to be signed.
  `String`
  `getExtension()`
  The file extension (without the leading dot) associated to this type of signature.
  `File`
  `sign(Signatory signatory, File toSign)`
  Signs the given file and returns the file where the signature has been written to.
  `void`
  `sign(Signatory signatory, InputStream toSign, OutputStream destination)`
  Signs the data from the given InputStream and stores the signature in the given OutputStream.

- ## Method Details

  - ### getExtension

    @Input String getExtension()
    The file extension (without the leading dot) associated to this type of signature.
    Since:
      1.0

  - ### fileFor

    File fileFor(File toSign)
    Calculates the file where to store the signature of the given file to be signed.
    Parameters:
      `toSign` - The file to be signed
    Returns:
      The file where to write the signature of the given file to be signed
    Since:
      1.0

  - ### combinedExtension

    String combinedExtension(File toSign)
    Combines the extension of the given file with the expected signature extension.
    Parameters:
      `toSign` - The file to be signed
    Returns:
      The combined file extension (without the leading dot)
    Since:
      1.0
    See Also:
      - `getExtension()`

  - ### sign

    File sign(Signatory signatory, File toSign)
    Signs the given file and returns the file where the signature has been written to.
    Parameters:
      `signatory` - The signatory
      `toSign` - The file to be signed
    Returns:
      The file where the signature has been written to
    Since:
      1.0

  - ### sign

    void sign(Signatory signatory, InputStream toSign, OutputStream destination)
    Signs the data from the given InputStream and stores the signature in the given OutputStream.
    Parameters:
      `signatory` - The signatory
      `toSign` - The source of the data to be signed
      `destination` - Where the signature will be written to
    Since:
      1.0