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 Details

    • createKey

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

    • put

      PluginRealmCache.CacheRecord put(PluginRealmCache.Key key, org.codehaus.plexus.classworlds.realm.ClassRealm pluginRealm, List<org.apache.maven.artifact.Artifact> pluginArtifacts)
    • 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.