Package org.opensaml.xmlsec.keyinfo

# Interface KeyInfoGeneratorFactory

All Known Implementing Classes:
  `BasicKeyInfoGeneratorFactory`, `KeyAgreementKeyInfoGeneratorFactory`, `X509KeyInfoGeneratorFactory`

public interface KeyInfoGeneratorFactory
Interface for factories which produce `KeyInfoGenerator` instances.

## Method Summary

Modifier and Type
Method
Description
`Class<? extends Credential>`
`getCredentialType()`
Get the type (interface) of the specific type of credential handled by generators produced by this factory.
`boolean`
`handles(Credential credential)`
Check whether the generators produced by this factory can handle the specified credential.
`KeyInfoGenerator`
`newInstance()`
Get a new instance of the generator type produced by the factory.
`default KeyInfoGenerator`
`newInstance(Class<? extends KeyInfo> type)`
Get a new instance of the generator type produced by the factory, and which generates `KeyInfo` instances of the specified type, for example `OriginatorKeyInfo` or `RecipientKeyInfo`.

## Method Details

### newInstance

@Nonnull KeyInfoGenerator newInstance()
Get a new instance of the generator type produced by the factory.

Returns:
  a new KeyInfoGenerator instance

### newInstance

@Nonnull default KeyInfoGenerator newInstance(@Nullable Class<? extends KeyInfo> type)
Get a new instance of the generator type produced by the factory, and which generates `KeyInfo` instances of the specified type, for example `OriginatorKeyInfo` or `RecipientKeyInfo`.

Parameters:
  `type` - the type of element to produce. Null is interpreted as a standard `KeyInfo`.
Returns:
  a new KeyInfoGenerator instance

### handles

boolean handles(@Nonnull Credential credential)
Check whether the generators produced by this factory can handle the specified credential.

Parameters:
  `credential` - the credential to evaluate
Returns:
  true if the generators produced by this factory can handle the type of the specified credential, false otherwise

### getCredentialType

@Nonnull Class<? extends Credential> getCredentialType()
Get the type (interface) of the specific type of credential handled by generators produced by this factory. Primarily used as an index by manager implementions such as `KeyInfoGeneratorManager`.

Returns:
  the specifc type of credential handled by the generators produced by this factory