Class ChainingProviderMetadataResolver
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
-
- net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
-
- net.shibboleth.oidc.metadata.impl.ChainingProviderMetadataResolver
-
- All Implemented Interfaces:
ProviderMetadataResolver,RefreshableProviderMetadataResolver,Component,DestructableComponent,IdentifiableComponent,IdentifiedComponent,InitializableComponent,Resolver<com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata,CriteriaSet>
public class ChainingProviderMetadataResolver extends AbstractIdentifiableInitializableComponent implements RefreshableProviderMetadataResolver
A provider metadata provider that uses registered resolvers, in turn, to answer queries. The Iterable of provider metadata returned is the first non-null and non-empty Iterable found while iterating over the registered resolvers in resolver list order.
-
-
Field Summary
Fields Modifier and Type Field Description private org.slf4j.LoggerlogClass logger.private List<ProviderMetadataResolver>resolversRegistered resolvers.
-
Constructor Summary
Constructors Constructor Description ChainingProviderMetadataResolver()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intcountClients(ProviderMetadataResolver resolver)Counts the clients found from the given resolver.protected voiddoDestroy()protected voiddoInitialize()InstantgetLastRefresh()InstantgetLastUpdate()List<ProviderMetadataResolver>getResolvers()Get an immutable the list of currently registered resolvers.voidrefresh()Iterable<com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata>resolve(CriteriaSet criteria)com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadataresolveSingle(CriteriaSet criteria)voidsetResolvers(List<? extends ProviderMetadataResolver> newResolvers)Set the registered provider metadata resolvers.-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
setId
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
getId
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, initialize, isDestroyed, isInitialized
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.IdentifiedComponent
getId
-
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
resolvers
@Nonnull @NonnullElements private List<ProviderMetadataResolver> resolvers
Registered resolvers.
-
-
Method Detail
-
getResolvers
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<ProviderMetadataResolver> getResolvers()
Get an immutable the list of currently registered resolvers.- Returns:
- list of currently registered resolvers
-
setResolvers
public void setResolvers(@Nullable @NonnullElements List<? extends ProviderMetadataResolver> newResolvers) throws ResolverException
Set the registered provider metadata resolvers.- Parameters:
newResolvers- the provider metadata resolvers to use- Throws:
ResolverException- thrown if there is a problem adding the provider metadata resolvers
-
resolveSingle
@Nullable public com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata resolveSingle(@Nullable CriteriaSet criteria) throws ResolverException- Specified by:
resolveSinglein interfaceResolver<com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata,CriteriaSet>- Throws:
ResolverException
-
resolve
@Nonnull public Iterable<com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata> resolve(@Nullable CriteriaSet criteria) throws ResolverException
- Specified by:
resolvein interfaceResolver<com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata,CriteriaSet>- Throws:
ResolverException
-
refresh
public void refresh() throws ResolverException- Specified by:
refreshin interfaceRefreshableProviderMetadataResolver- Throws:
ResolverException
-
getLastUpdate
@Nullable public Instant getLastUpdate()
- Specified by:
getLastUpdatein interfaceRefreshableProviderMetadataResolver
-
getLastRefresh
@Nullable public Instant getLastRefresh()
- Specified by:
getLastRefreshin interfaceRefreshableProviderMetadataResolver
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractIdentifiedInitializableComponent- Throws:
ComponentInitializationException
-
doDestroy
protected void doDestroy()
- Overrides:
doDestroyin classAbstractInitializableComponent
-
countClients
protected int countClients(ProviderMetadataResolver resolver)
Counts the clients found from the given resolver.- Parameters:
resolver- The resolver whose clients are counted.- Returns:
- The amount of resolvable clients.
-
-