# Class SignOperation

java.lang.Object
org.gradle.plugins.signing.SignOperation

All Implemented Interfaces:
  `SignatureSpec`

public class SignOperation extends Object implements SignatureSpec
A sign operation creates digital signatures for one or more files or `publish artifacts`.

The external representation of the signature is specified by the `signature type property`, while the `signatory` property specifies who is to sign.

A sign operation manages one or more `Signature` objects. The `sign` methods are used to register things to generate signatures for. The `execute()` method generates the signatures for all of the registered items at that time.

## Constructor Summary

Constructors
Constructor
Description
`SignOperation()`

## Method Summary

Modifier and Type
Method
Description
`SignOperation`
`configure(Closure closure)`
Executes the given closure against this object.
`SignOperation`
`execute()`
Generates actual signature files for all of the registered signatures.
`String`
`getDisplayName()`
`FileCollection`
`getFilesToSign()`
All of the files that will be signed by this operation.
`Signatory`
`getSignatory()`
The signatory that will be performing the signing.
`FileCollection`
`getSignatureFiles()`
All of the signature files that will be generated by this operation.
`List<Signature>`
`getSignatures()`
The registered signatures.
`SignatureType`
`getSignatureType()`
The signature representation that will be created.
`Signature`
`getSingleSignature()`
Returns the single registered signature.
`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 signatureType)`
Sets the signature representation that the signatures will be produced as.
`SignOperation`
`sign(File... files)`
Registers signatures for the given files.
`SignOperation`
`sign(String classifier, File... files)`
Registers signatures (with the given classifier) for the given files
`SignOperation`
`sign(PublishArtifact... artifacts)`
Registers signatures for the given artifacts.
`SignOperation`
`signatory(Signatory signatory)`
Change the signatory for signature generation.
`SignOperation`
`signatureType(SignatureType type)`
Change the signature type for signature generation.
`String`
`toString()`

### Methods inherited from class Object

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

## Constructor Details

### SignOperation

public SignOperation()

## Method Details

### getDisplayName

public String getDisplayName()

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### setSignatureType

public void setSignatureType(SignatureType signatureType)
Description copied from interface: `SignatureSpec`
Sets the signature representation that the signatures will be produced as.

Specified by:
  `setSignatureType` in interface `SignatureSpec`
Parameters:
  `signatureType` - the signature type to use

### getSignatureType

public SignatureType getSignatureType()
Description copied from interface: `SignatureSpec`
The signature representation that will be created.

Specified by:
  `getSignatureType` in interface `SignatureSpec`
Returns:
  the signature type, or `null` if none specified.

### setSignatory

public void setSignatory(Signatory signatory)
Description copied from interface: `SignatureSpec`
Sets the signatory that will be signing the input.

Specified by:
  `setSignatory` in interface `SignatureSpec`
Parameters:
  `signatory` - The signatory

### getSignatory

public Signatory getSignatory()
Description copied from interface: `SignatureSpec`
The signatory that will be performing the signing.

Specified by:
  `getSignatory` in interface `SignatureSpec`
Returns:
  the signatory, or `null` if none specified.

### setRequired

public void setRequired(boolean required)
Description copied from interface: `SignatureSpec`
Whether or not it is required that this signature be generated.

Specified by:
  `setRequired` in interface `SignatureSpec`
Parameters:
  `required` - Whether or not it is required that this signature be generated.
See Also:
  - `SignatureSpec.isRequired()`

### isRequired

public boolean isRequired()
Description copied from interface: `SignatureSpec`
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.

Specified by:
  `isRequired` in interface `SignatureSpec`
Returns:
  Whether or not it is required that this signature be generated.

### sign

public SignOperation sign(PublishArtifact... artifacts)
Registers signatures for the given artifacts.

Returns:
  this
See Also:
  - `Signature(File, SignatureSpec, Object...)`

### sign

public SignOperation sign(File... files)
Registers signatures for the given files.

Returns:
  this
See Also:
  - `Signature(File, SignatureSpec, Object...)`

### sign

public SignOperation sign(String classifier, File... files)
Registers signatures (with the given classifier) for the given files

Returns:
  this
See Also:
  - `Signature(PublishArtifact, SignatureSpec, Object...)`

### signatureType

public SignOperation signatureType(SignatureType type)
Change the signature type for signature generation.

### signatory

public SignOperation signatory(Signatory signatory)
Change the signatory for signature generation.

### configure

public SignOperation configure(Closure closure)
Executes the given closure against this object.

### execute

public SignOperation execute()
Generates actual signature files for all of the registered signatures.

The signatures are generated with the configuration they have at this time, which includes the signature type and signatory of this operation at this time.

This method can be called multiple times, with the signatures being generated with their current configuration each time.

Returns:
  this
See Also:
  - `Signature.generate()`

### getSignatures

public List<Signature> getSignatures()
The registered signatures.

### getSingleSignature

public Signature getSingleSignature()
Returns the single registered signature.

Returns:
  The signature.
Throws:
  `IllegalStateException` - if there is not exactly one registered signature.

### getFilesToSign

public FileCollection getFilesToSign()
All of the files that will be signed by this operation.

### getSignatureFiles

public FileCollection getSignatureFiles()
All of the signature files that will be generated by this operation.