Package org.opensaml.xmlsec.keyinfo

# Class KeyInfoGeneratorManager

java.lang.Object
org.opensaml.xmlsec.keyinfo.KeyInfoGeneratorManager

public class KeyInfoGeneratorManager extends Object
A manager for `KeyInfoGeneratorFactory` instances. Factories are uniquely indexed according to the value returned by `KeyInfoGeneratorFactory.getCredentialType()`.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final Map<Class<? extends Credential>,KeyInfoGeneratorFactory>`
`factories`
The factories being managed, indexed by credential type.

## Constructor Summary

Constructors
Constructor
Description
`KeyInfoGeneratorManager()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`deregisterFactory(KeyInfoGeneratorFactory factory)`
De-register a factory within this manager instance.
`Collection<KeyInfoGeneratorFactory>`
`getFactories()`
Get the (unmodifiable) collection of all factories managed by this manager.
`KeyInfoGeneratorFactory`
`getFactory(Credential credential)`
Get the factory which produces KeyInfoGenerators which can handle the specified credential.
`void`
`registerFactory(KeyInfoGeneratorFactory factory)`
Register a factory within this manager instance.

### Methods inherited from class java.lang.Object

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

## Field Details

### factories

@Nonnull private final Map<Class<? extends Credential>,KeyInfoGeneratorFactory> factories
The factories being managed, indexed by credential type.

## Constructor Details

### KeyInfoGeneratorManager

public KeyInfoGeneratorManager()
Constructor.

## Method Details

### registerFactory

public void registerFactory(@Nonnull KeyInfoGeneratorFactory factory)
Register a factory within this manager instance. If a factory already exists for that credential type, it will be replaced.

Parameters:
  `factory` - the factory to register

### deregisterFactory

public void deregisterFactory(@Nonnull KeyInfoGeneratorFactory factory)
De-register a factory within this manager instance.

Parameters:
  `factory` - the factory to de-register

### getFactories

@Nonnull public Collection<KeyInfoGeneratorFactory> getFactories()
Get the (unmodifiable) collection of all factories managed by this manager.

Returns:
  the collection of managed factories

### getFactory

@Nullable public KeyInfoGeneratorFactory getFactory(@Nonnull Credential credential)
Get the factory which produces KeyInfoGenerators which can handle the specified credential.

Parameters:
  `credential` - the credential for which to locate a factory
Returns:
  a KeyInfoGeneratorFactory instance appropriate for the credential