org.opensaml.xml.security.keyinfo
Class StaticKeyInfoGenerator

java.lang.Object
  extended by org.opensaml.xml.security.keyinfo.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
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
StaticKeyInfoGenerator(KeyInfo newKeyInfo)
          Constructor.
 
Method Summary
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 Detail

keyInfo

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


keyInfoUnmarshaller

private Unmarshaller keyInfoUnmarshaller
Unmarshaller used in cloning operation.


keyInfoMarshaller

private Marshaller keyInfoMarshaller
Marshaller used in cloning operation.

Constructor Detail

StaticKeyInfoGenerator

public StaticKeyInfoGenerator(KeyInfo newKeyInfo)
Constructor.

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

generate

public KeyInfo generate(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
Throws:
SecurityException - thrown if there is any error generating the new KeyInfo from the credential

getKeyInfo

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

Returns:
the currently held KeyInfo object

setKeyInfo

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

Parameters:
newKeyInfo - the new KeyInfo object

clone

private KeyInfo clone(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

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

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


Copyright © 1999-2012. All Rights Reserved.