Class CompositeMetadataResolver

  • All Implemented Interfaces:
    net.shibboleth.utilities.java.support.component.Component, net.shibboleth.utilities.java.support.component.DestructableComponent, net.shibboleth.utilities.java.support.component.IdentifiedComponent, net.shibboleth.utilities.java.support.component.InitializableComponent, net.shibboleth.utilities.java.support.resolver.Resolver<org.opensaml.saml.saml2.metadata.EntityDescriptor,​net.shibboleth.utilities.java.support.resolver.CriteriaSet>, org.opensaml.saml.metadata.resolver.ClearableMetadataResolver, org.opensaml.saml.metadata.resolver.MetadataResolver, org.opensaml.saml.metadata.resolver.RefreshableMetadataResolver

    public class CompositeMetadataResolver
    extends net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
    implements org.opensaml.saml.metadata.resolver.MetadataResolver, org.opensaml.saml.metadata.resolver.RefreshableMetadataResolver, org.opensaml.saml.metadata.resolver.ClearableMetadataResolver
    A MetadataResolver implementation that answers requests by composing the answers of child MetadataResolvers.
    • Field Detail

      • log

        @Nonnull
        private final org.slf4j.Logger log
        Class logger.
      • resolvers

        @Nonnull
        @NonnullElements
        private List<org.opensaml.saml.metadata.resolver.MetadataResolver> resolvers
        Resolvers composed by this resolver.
    • Constructor Detail

      • CompositeMetadataResolver

        public CompositeMetadataResolver()
        Constructor.
    • Method Detail

      • getResolvers

        @Nonnull
        @NonnullElements
        @Unmodifiable
        @NotLive
        public List<org.opensaml.saml.metadata.resolver.MetadataResolver> getResolvers()
        Gets an immutable the list of currently registered resolvers.
        Returns:
        list of currently registered resolvers
      • setResolvers

        public void setResolvers​(@Nonnull @NonnullElements
                                 List<org.opensaml.saml.metadata.resolver.MetadataResolver> newResolvers)
                          throws net.shibboleth.utilities.java.support.resolver.ResolverException
        Sets the current set of metadata resolvers.
        Parameters:
        newResolvers - the metadata resolvers to use
        Throws:
        net.shibboleth.utilities.java.support.resolver.ResolverException - thrown if there is a problem adding the metadata provider
      • isRequireValidMetadata

        public boolean isRequireValidMetadata()
        Specified by:
        isRequireValidMetadata in interface org.opensaml.saml.metadata.resolver.MetadataResolver
      • setRequireValidMetadata

        public void setRequireValidMetadata​(boolean requireValidMetadata)
        Specified by:
        setRequireValidMetadata in interface org.opensaml.saml.metadata.resolver.MetadataResolver
      • getMetadataFilter

        @Nullable
        public org.opensaml.saml.metadata.resolver.filter.MetadataFilter getMetadataFilter()
        Specified by:
        getMetadataFilter in interface org.opensaml.saml.metadata.resolver.MetadataResolver
      • setMetadataFilter

        public void setMetadataFilter​(@Nullable
                                      org.opensaml.saml.metadata.resolver.filter.MetadataFilter newFilter)
        Specified by:
        setMetadataFilter in interface org.opensaml.saml.metadata.resolver.MetadataResolver
      • resolve

        public Iterable<org.opensaml.saml.saml2.metadata.EntityDescriptor> resolve​(@Nullable
                                                                                   net.shibboleth.utilities.java.support.resolver.CriteriaSet criteria)
                                                                            throws net.shibboleth.utilities.java.support.resolver.ResolverException
        Specified by:
        resolve in interface net.shibboleth.utilities.java.support.resolver.Resolver<org.opensaml.saml.saml2.metadata.EntityDescriptor,​net.shibboleth.utilities.java.support.resolver.CriteriaSet>
        Throws:
        net.shibboleth.utilities.java.support.resolver.ResolverException
      • resolveSingle

        public org.opensaml.saml.saml2.metadata.EntityDescriptor resolveSingle​(@Nullable
                                                                               net.shibboleth.utilities.java.support.resolver.CriteriaSet criteria)
                                                                        throws net.shibboleth.utilities.java.support.resolver.ResolverException
        Specified by:
        resolveSingle in interface net.shibboleth.utilities.java.support.resolver.Resolver<org.opensaml.saml.saml2.metadata.EntityDescriptor,​net.shibboleth.utilities.java.support.resolver.CriteriaSet>
        Throws:
        net.shibboleth.utilities.java.support.resolver.ResolverException
      • doInitialize

        protected void doInitialize()
                             throws net.shibboleth.utilities.java.support.component.ComponentInitializationException
        Overrides:
        doInitialize in class net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
        Throws:
        net.shibboleth.utilities.java.support.component.ComponentInitializationException
      • doDestroy

        protected void doDestroy()
        Overrides:
        doDestroy in class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
      • clear

        public void clear()
                   throws net.shibboleth.utilities.java.support.resolver.ResolverException
        Specified by:
        clear in interface org.opensaml.saml.metadata.resolver.ClearableMetadataResolver
        Throws:
        net.shibboleth.utilities.java.support.resolver.ResolverException
      • clear

        public void clear​(String entityID)
                   throws net.shibboleth.utilities.java.support.resolver.ResolverException
        Specified by:
        clear in interface org.opensaml.saml.metadata.resolver.ClearableMetadataResolver
        Throws:
        net.shibboleth.utilities.java.support.resolver.ResolverException
      • refresh

        public void refresh()
                     throws net.shibboleth.utilities.java.support.resolver.ResolverException
        Specified by:
        refresh in interface org.opensaml.saml.metadata.resolver.RefreshableMetadataResolver
        Throws:
        net.shibboleth.utilities.java.support.resolver.ResolverException
      • getLastUpdate

        @Nullable
        public Instant getLastUpdate()
        Specified by:
        getLastUpdate in interface org.opensaml.saml.metadata.resolver.RefreshableMetadataResolver
      • getLastRefresh

        @Nullable
        public Instant getLastRefresh()
        Specified by:
        getLastRefresh in interface org.opensaml.saml.metadata.resolver.RefreshableMetadataResolver
      • getLastSuccessfulRefresh

        public Instant getLastSuccessfulRefresh()
        Specified by:
        getLastSuccessfulRefresh in interface org.opensaml.saml.metadata.resolver.RefreshableMetadataResolver
      • wasLastRefreshSuccess

        public Boolean wasLastRefreshSuccess()
        Specified by:
        wasLastRefreshSuccess in interface org.opensaml.saml.metadata.resolver.RefreshableMetadataResolver