Interface PluginRealmCache

  • All Known Implementing Classes:
    DefaultPluginRealmCache

    public interface PluginRealmCache
    Caches plugin class realms. Warning: This is an internal utility interface that is only public for technical reasons, it is not part of the public API. In particular, this interface can be changed or deleted without prior notice.
    Author:
    Igor Fedorenko, Benjamin Bentmann
    • Method Detail

      • createKey

        PluginRealmCache.Key createKey​(org.apache.maven.model.Plugin plugin,
                                       java.lang.ClassLoader parentRealm,
                                       java.util.Map<java.lang.String,​java.lang.ClassLoader> foreignImports,
                                       org.eclipse.aether.graph.DependencyFilter dependencyFilter,
                                       java.util.List<org.eclipse.aether.repository.RemoteRepository> repositories,
                                       org.eclipse.aether.RepositorySystemSession session)
      • flush

        void flush()
      • register

        void register​(MavenProject project,
                      PluginRealmCache.Key key,
                      PluginRealmCache.CacheRecord record_)
        Registers the specified cache record for usage with the given project. Integrators can use the information collected from this method in combination with a custom cache implementation to dispose unused records from the cache.
        Parameters:
        project - The project that employs the plugin realm, must not be null.
        record_ - The cache record being used for the project, must not be null.