Interface ReloadableService<T>

    • Method Detail

      • getLastSuccessfulReloadInstant

        @Nullable
        Instant getLastSuccessfulReloadInstant()
        Gets the time when the service was last successfully reloaded. Returns null if the service has never reloaded.
        Returns:
        time when the service was last successfully reloaded
      • getLastReloadAttemptInstant

        @Nullable
        Instant getLastReloadAttemptInstant()
        Gets the time when the service last attempted to reload. If the reload was successful this time should match the time given by getLastSuccessfulReloadInstant().
        Returns:
        time when the service last attempted to reload
      • getReloadFailureCause

        @Nullable
        Throwable getReloadFailureCause()
        Gets the reason the last reload failed.
        Returns:
        reason the last reload failed or null if the last reload was successful
      • reload

        void reload()
        Reloads the configuration of the service. Whether internal state is maintained between reloads is implementation dependent.
        Throws:
        ServiceException - thrown if there is a problem reloading the service
      • getServiceableComponent

        @Nullable
        ServiceableComponent<T> getServiceableComponent()
        Get the serviceable component that this service supports. If the component hasn't been successfully loaded yet or if this service does not support a ServiceableComponent, null is returned. On a non-null value, the returned component will be pinned and MUST be unpinned by a call to ServiceableComponent.unpinComponent().
        Returns:
        the component, if appropriate.