Class StorageServiceSAMLArtifactMap
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.saml.common.binding.artifact.impl.StorageServiceSAMLArtifactMap
-
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,SAMLArtifactMap
public class StorageServiceSAMLArtifactMap extends AbstractInitializableComponent implements SAMLArtifactMap
Artifact map implementation backed byStorageService.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.opensaml.saml.common.binding.artifact.SAMLArtifactMap
SAMLArtifactMap.SAMLArtifactMapEntry, SAMLArtifactMap.SAMLArtifactMapEntryFactory
-
-
Field Summary
Fields Modifier and Type Field Description private DurationartifactLifetimeLifetime of an artifact.private StorageServiceartifactStoreArtifact mapping storage.private intartifactStoreKeySizeMaximum size of artifacts we can handle.private SAMLArtifactMap.SAMLArtifactMapEntryFactoryentryFactoryFactory for SAMLArtifactMapEntry instances.private org.slf4j.LoggerlogClass Logger.static StringSTORAGE_CONTEXTStorage context label.
-
Constructor Summary
Constructors Constructor Description StorageServiceSAMLArtifactMap()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontains(String artifact)Checks if a given artifact has a map entry.protected voiddoInitialize()SAMLArtifactMap.SAMLArtifactMapEntryget(String artifact)Gets the artifact entry for the given artifact.DurationgetArtifactLifetime()Get the artifact entry lifetime.SAMLArtifactMap.SAMLArtifactMapEntryFactorygetEntryFactory()Get the map entry factory.StorageServicegetStorageService()Get the artifact store.voidput(String artifact, String relyingPartyId, String issuerId, SAMLObject samlMessage)Creates a mapping between a given artifact and the SAML message to which it maps.voidremove(String artifact)Removes the artifact from this map.voidsetArtifactLifetime(Duration lifetime)Set the artifact entry lifetime.voidsetEntryFactory(SAMLArtifactMap.SAMLArtifactMapEntryFactory factory)Set the map entry factory.voidsetStorageService(StorageService store)Set the artifact store.-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitialized
-
-
-
-
Field Detail
-
STORAGE_CONTEXT
@Nonnull @NotEmpty public static final String STORAGE_CONTEXT
Storage context label.
-
log
@Nonnull private final org.slf4j.Logger log
Class Logger.
-
artifactStore
@NonnullAfterInit private StorageService artifactStore
Artifact mapping storage.
-
artifactStoreKeySize
private int artifactStoreKeySize
Maximum size of artifacts we can handle.
-
artifactLifetime
@Nonnull private Duration artifactLifetime
Lifetime of an artifact.
-
entryFactory
@Nonnull private SAMLArtifactMap.SAMLArtifactMapEntryFactory entryFactory
Factory for SAMLArtifactMapEntry instances.
-
-
Method Detail
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
getStorageService
@NonnullAfterInit public StorageService getStorageService()
Get the artifact store.- Returns:
- the artifact store
-
getArtifactLifetime
@Nonnull public Duration getArtifactLifetime()
Get the artifact entry lifetime.- Returns:
- the artifact entry lifetime
-
getEntryFactory
@Nonnull public SAMLArtifactMap.SAMLArtifactMapEntryFactory getEntryFactory()
Get the map entry factory.- Returns:
- the map entry factory
-
setStorageService
public void setStorageService(@Nonnull StorageService store)Set the artifact store.- Parameters:
store- the artifact store
-
setArtifactLifetime
public void setArtifactLifetime(@Nonnull Duration lifetime)Set the artifact entry lifetime.- Parameters:
lifetime- artifact entry lifetime
-
setEntryFactory
public void setEntryFactory(@Nonnull SAMLArtifactMap.SAMLArtifactMapEntryFactory factory)Set the map entry factory.In addition to implementing the
SAMLArtifactMap.SAMLArtifactMapEntryFactoryinterface, the injected object must support theStorageSerializerinterface to enable entries to be stored via the injectedStorageServiceinstance.- Parameters:
factory- map entry factory
-
contains
public boolean contains(@Nonnull @NotEmpty String artifact) throws IOException
Checks if a given artifact has a map entry.- Specified by:
containsin interfaceSAMLArtifactMap- Parameters:
artifact- the artifact to check- Returns:
- true iff this map has an entry for the given artifact
- Throws:
IOException- if an error occurs retrieving the information
-
get
@Nullable public SAMLArtifactMap.SAMLArtifactMapEntry get(@Nonnull @NotEmpty String artifact) throws IOException
Gets the artifact entry for the given artifact.- Specified by:
getin interfaceSAMLArtifactMap- Parameters:
artifact- the artifact to retrieve the entry for- Returns:
- the entry, or null if the artifact has already expired or did not exist
- Throws:
IOException- if an error occurs retrieving the information
-
put
public void put(@Nonnull @NotEmpty String artifact, @Nonnull @NotEmpty String relyingPartyId, @Nonnull @NotEmpty String issuerId, @Nonnull SAMLObject samlMessage) throws IOException
Creates a mapping between a given artifact and the SAML message to which it maps.- Specified by:
putin interfaceSAMLArtifactMap- Parameters:
artifact- the artifactrelyingPartyId- ID of the party the artifact was sent toissuerId- ID of the issuer of the artifactsamlMessage- the SAML message- Throws:
IOException- if an error occurs storing the information
-
remove
public void remove(@Nonnull @NotEmpty String artifact) throws IOException
Removes the artifact from this map.- Specified by:
removein interfaceSAMLArtifactMap- Parameters:
artifact- artifact to be removed- Throws:
IOException- if an error occurs retrieving the information
-
-