Package org.opensaml.xmlsec.keyinfo.impl

# Class StaticKeyInfoGenerator

java.lang.Object
org.opensaml.xmlsec.keyinfo.impl.StaticKeyInfoGenerator

All Implemented Interfaces:
  `KeyInfoGenerator`

public class StaticKeyInfoGenerator extends Object implements KeyInfoGenerator
Implementation of `KeyInfoGenerator` which always returns static `KeyInfo` data. Note that the argument to `generate(Credential)` is not used in generating the new KeyInfo, and so may be null. If the original KeyInfo that was passed to this instance is already the child of some other XMLObject at the time `generate(Credential)` is called, then a newly constructed KeyInfo object will be returned that contains the same data as the original. Otherwise, the original KeyInfo instance is returned directly.

## Field Summary

Fields
Modifier and Type
Field
Description
`private KeyInfo`
`keyInfo`
The KeyInfo object held by this generator instance.
`private Marshaller`
`keyInfoMarshaller`
Marshaller used in cloning operation.
`private Unmarshaller`
`keyInfoUnmarshaller`
Unmarshaller used in cloning operation.

## Constructor Summary

Constructors
Constructor
Description
`StaticKeyInfoGenerator(KeyInfo newKeyInfo)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`private KeyInfo`
`clone(KeyInfo origKeyInfo)`
Clone a KeyInfo and return the new object.
`KeyInfo`
`generate(Credential credential)`
Generate a new KeyInfo object based on keying material and other information within a credential.
`KeyInfo`
`getKeyInfo()`
Get the static KeyInfo object held by this generator.
`private Marshaller`
`getMarshaller()`
Get a KeyInfo marshaller.
`private Unmarshaller`
`getUnmarshaller()`
Get a KeyInfo unmarshaller.
`void`
`setKeyInfo(KeyInfo newKeyInfo)`
Set the static KeyInfo object held by this generator.

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

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

## Field Details

### keyInfo

@Nonnull private KeyInfo keyInfo
The KeyInfo object held by this generator instance.

### keyInfoUnmarshaller

@Nullable private Unmarshaller keyInfoUnmarshaller
Unmarshaller used in cloning operation.

### keyInfoMarshaller

@Nullable private Marshaller keyInfoMarshaller
Marshaller used in cloning operation.

## Constructor Details

### StaticKeyInfoGenerator

public StaticKeyInfoGenerator(@Nonnull @ParameterName(name="newKeyInfo") KeyInfo newKeyInfo)
Constructor.

Parameters:
  `newKeyInfo` - the KeyInfo used as the basis to return new KeyInfo objects from this generator

## Method Details

### generate

@Nonnull public KeyInfo generate(@Nullable Credential credential) throws SecurityException
Generate a new KeyInfo object based on keying material and other information within a credential.

Specified by:
  `generate` in interface `KeyInfoGenerator`
Parameters:
  `credential` - the credential containing keying material and possibly other information
Returns:
  a new KeyInfo object or null if nothing was generated
Throws:
  `SecurityException` - thrown if there is any error generating the new KeyInfo from the credential

### getKeyInfo

@Nonnull public KeyInfo getKeyInfo()
Get the static KeyInfo object held by this generator.

Returns:
  the currently held KeyInfo object

### setKeyInfo

public void setKeyInfo(@Nonnull KeyInfo newKeyInfo)
Set the static KeyInfo object held by this generator.

Parameters:
  `newKeyInfo` - the new KeyInfo object

### clone

@Nonnull private KeyInfo clone(@Nonnull KeyInfo origKeyInfo) throws SecurityException
Clone a KeyInfo and return the new object.

Parameters:
  `origKeyInfo` - the KeyInfo object to clone
Returns:
  a new KeyInfo object cloned from the original
Throws:
  `SecurityException` - thrown in there are marshalling or unmarshalling errors during cloning

### getMarshaller

@Nonnull private Marshaller getMarshaller() throws SecurityException
Get a KeyInfo marshaller.

Returns:
  a KeyInfo marshaller
Throws:
  `SecurityException` - thrown if there is an error obtaining the marshaller from the configuration

### getUnmarshaller

@Nonnull private Unmarshaller getUnmarshaller() throws SecurityException
Get a KeyInfo unmarshaller.

Returns:
  a KeyInfo unmarshaller
Throws:
  `SecurityException` - thrown if there is an error obtaining the unmarshaller from the configuration