Interface CacheHandler

  • All Known Implementing Classes:
    GitRepository

    public interface CacheHandler
    • Method Detail

      • getKey

        @NotNull
        @NotNull String getKey()
        Unique key identifying this provider, for example module key.
        Returns:
        unique key identifying this provider
      • getName

        @NotNull
        @NotNull String getName()
        Display name of the cache type, for example repository type name.
        Returns:
        name for the supported cache type
      • getHandlerDescription

        @NotNull
        @NotNull String getHandlerDescription()
        Additional information about this cache type that would be displayed in UI.

        This should include information about any non-obvious details like scheduling remote agent operations.

        Returns:
        additional information about this cache type that would be displayed in UI
      • getCacheDescriptions

        @NotNull
        @NotNull Collection<CacheDescription> getCacheDescriptions()
        Collection of cache descriptions to be displayed in the admin UI.
        Returns:
        collection of all found caches of given type.
      • deleteCaches

        void deleteCaches​(@NotNull
                          @NotNull Collection<String> keys,
                          @NotNull
                          @NotNull com.opensymphony.xwork.ValidationAware feedback)
        Delete the specified caches, handling internal data updates etc.
        Parameters:
        keys - keys from CacheDescription.getKey()
        feedback - consumer of UI messages
      • deleteUnusedCaches

        void deleteUnusedCaches​(@NotNull
                                @NotNull com.opensymphony.xwork.ValidationAware feedback)
        Delete all unused caches.

        It's the responsibility of the implementing class to figure out which caches are currently unused and optionally delete such caches on remote agents.

        Parameters:
        feedback - consumer of UI messages