Class ServiceableProviderMetadataProvider

    • Field Detail

      • sortKeyValue

        private static int sortKeyValue
        If we autogenerate a sort key it comes from this count.
      • log

        private final org.slf4j.Logger log
        Class logger.
      • sortKey

        @NonnullAfterInit
        private Integer sortKey
        The key by which we sort the provider.
    • Constructor Detail

      • ServiceableProviderMetadataProvider

        public ServiceableProviderMetadataProvider()
        Constructor.
    • Method Detail

      • setSortKey

        public void setSortKey​(int key)
        Set the sort key.
        Parameters:
        key - what to set
      • getEmbeddedResolver

        @Nonnull
        public ProviderMetadataResolver getEmbeddedResolver()
        Return what we are build around. Used for testing.
        Returns:
        the parameter we got as a constructor
      • resolve

        @Nonnull
        public Iterable<com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata> resolve​(org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
                                                                                  throws net.shibboleth.utilities.java.support.resolver.ResolverException
        Specified by:
        resolve in interface net.shibboleth.utilities.java.support.resolver.Resolver<com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata,​org.opensaml.profile.context.ProfileRequestContext>
        Throws:
        net.shibboleth.utilities.java.support.resolver.ResolverException
      • resolveSingle

        @Nullable
        public com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata resolveSingle​(@Nullable
                                                                                     org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
                                                                              throws net.shibboleth.utilities.java.support.resolver.ResolverException
        Specified by:
        resolveSingle in interface net.shibboleth.utilities.java.support.resolver.Resolver<com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata,​org.opensaml.profile.context.ProfileRequestContext>
        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.ext.spring.service.AbstractServiceableComponent<ProviderMetadataResolver>
        Throws:
        net.shibboleth.utilities.java.support.component.ComponentInitializationException
      • setId

        public void setId​(@Nonnull @NotEmpty
                          String componentId)
        Sets the ID of this component. The component must not yet be initialized.
        Specified by:
        setId in interface net.shibboleth.utilities.java.support.component.IdentifiableComponent
        Overrides:
        setId in class net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
        Parameters:
        componentId - ID of the component
      • refresh

        public void refresh()
                     throws net.shibboleth.utilities.java.support.resolver.ResolverException
        Refresh the data exposed by the resolver.

        An implementation of this method should typically be either synchronized or make use other locking mechanisms to protect against concurrent access.

        Specified by:
        refresh in interface RefreshableProviderMetadataResolver
        Throws:
        net.shibboleth.utilities.java.support.resolver.ResolverException - if the refresh operation was unsuccessful
      • equals

        public boolean equals​(Object other)
        . We are within a spring context and so equality can be determined by ID, however we also test by sortKey just in case.
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object