# Interface SignatureSpec

All Known Implementing Classes:
  `Sign, SignOperation`

public interface SignatureSpec
Specifies how objects will be signed.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Signatory`
  `getSignatory()`
  The signatory that will be performing the signing.
  `SignatureType`
  `getSignatureType()`
  The signature representation that will be created.
  `boolean`
  `isRequired()`
  Whether or not it is required that this signature be generated.
  `void`
  `setRequired(boolean required)`
  Whether or not it is required that this signature be generated.
  `void`
  `setSignatory(Signatory signatory)`
  Sets the signatory that will be signing the input.
  `void`
  `setSignatureType(SignatureType type)`
  Sets the signature representation that the signatures will be produced as.

- ## Method Details

  - ### getSignatory

    Signatory getSignatory()
    The signatory that will be performing the signing.
    Returns:
      the signatory, or `null` if none specified.

  - ### setSignatory

    void setSignatory(Signatory signatory)
    Sets the signatory that will be signing the input.
    Parameters:
      `signatory` - The signatory

  - ### getSignatureType

    SignatureType getSignatureType()
    The signature representation that will be created.
    Returns:
      the signature type, or `null` if none specified.

  - ### setSignatureType

    void setSignatureType(SignatureType type)
    Sets the signature representation that the signatures will be produced as.
    Parameters:
      `type` - the signature type to use

  - ### isRequired

    boolean isRequired()
    Whether or not it is required that this signature be generated. A signature may not be able to be generated if a signatory and/or a signature type have not been specified. If it is required and cannot be generated, an exception will be thrown. Otherwise, it will not be generated.
    Returns:
      Whether or not it is required that this signature be generated.

  - ### setRequired

    void setRequired(boolean required)
    Whether or not it is required that this signature be generated.
    Parameters:
      `required` - Whether or not it is required that this signature be generated.
    See Also:
      - `isRequired()`