Package org.apache.maven.plugin
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
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic class
CacheRecordstatic interface
A cache key. -
Method Summary
Modifier and TypeMethodDescriptioncreateKey
(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) void
flush()
get
(PluginRealmCache.Key key) put
(PluginRealmCache.Key key, org.codehaus.plexus.classworlds.realm.ClassRealm pluginRealm, List<Artifact> pluginArtifacts) void
register
(MavenProject project, PluginRealmCache.Key key, PluginRealmCache.CacheRecord record) Registers the specified cache record for usage with the given project.
-
Method Details
-
createKey
PluginRealmCache.Key createKey(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<Artifact> pluginArtifacts) -
flush
void flush() -
register
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 benull
.record
- The cache record being used for the project, must not benull
.
-