Interface RefreshableMetadataResolver

  • All Superinterfaces:
    net.shibboleth.utilities.java.support.component.Component, net.shibboleth.utilities.java.support.component.IdentifiedComponent, MetadataResolver, net.shibboleth.utilities.java.support.resolver.Resolver<EntityDescriptor,​net.shibboleth.utilities.java.support.resolver.CriteriaSet>
    All Known Implementing Classes:
    ChainingMetadataResolver

    public interface RefreshableMetadataResolver
    extends MetadataResolver
    Specialization of MetadataResolver that supports on-demand refresh.
    • Method Detail

      • refresh

        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.

        Throws:
        net.shibboleth.utilities.java.support.resolver.ResolverException - if the refresh operation was unsuccessful
      • getLastRefresh

        @Nullable
        Instant getLastRefresh()
        Gets the time the last refresh cycle occurred.
        Returns:
        time the last refresh cycle occurred
      • getLastUpdate

        @Nullable
        Instant getLastUpdate()
        Get the time that the currently available metadata was last updated. Note, this may be different than the time retrieved by getLastRefresh() is the metadata was known not to have changed during the last refresh cycle.
        Returns:
        time when the currently metadata was last updated, null if metadata has never successfully been read in
      • getLastSuccessfulRefresh

        @Nullable
        Instant getLastSuccessfulRefresh()
        Gets the time the last successful refresh cycle occurred.
        Returns:
        time the last successful refresh cycle occurred
      • wasLastRefreshSuccess

        @Nullable
        Boolean wasLastRefreshSuccess()
        Gets whether the last refresh cycle was successful.
        Returns:
        true if last refresh cycle was successful, false if not
      • getLastFailureCause

        @Nullable
        Throwable getLastFailureCause()
        Gets the reason the last refresh failed.
        Returns:
        reason the last refresh failed or null if the last refresh was successful