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.static interface
-
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) default PluginRealmCache.CacheRecord
get
(PluginRealmCache.Key key, PluginRealmCache.PluginRealmSupplier supplier) 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
-
get
default PluginRealmCache.CacheRecord get(PluginRealmCache.Key key, PluginRealmCache.PluginRealmSupplier supplier) throws PluginResolutionException, PluginContainerException -
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
.
-