Package org.apache.maven.plugin
Class DefaultPluginRealmCache
java.lang.Object
org.apache.maven.plugin.DefaultPluginRealmCache
- All Implemented Interfaces:
PluginRealmCache
,org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable
@Component(role=PluginRealmCache.class)
public class DefaultPluginRealmCache
extends Object
implements PluginRealmCache, org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable
Default PluginCache implementation. Assumes cached data does not change.
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
CacheKeyNested classes/interfaces inherited from interface org.apache.maven.plugin.PluginRealmCache
PluginRealmCache.CacheRecord, PluginRealmCache.Key
-
Field Summary
Modifier and TypeFieldDescriptionprotected final Map<PluginRealmCache.Key,
PluginRealmCache.CacheRecord> -
Constructor Summary
-
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
dispose()
void
flush()
get
(PluginRealmCache.Key key) protected static boolean
pluginEquals
(Plugin a, Plugin b) protected static int
pluginHashCode
(Plugin plugin) 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.
-
Field Details
-
cache
-
-
Constructor Details
-
DefaultPluginRealmCache
public DefaultPluginRealmCache()
-
-
Method Details
-
createKey
public 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) - Specified by:
createKey
in interfacePluginRealmCache
-
get
- Specified by:
get
in interfacePluginRealmCache
-
put
public PluginRealmCache.CacheRecord put(PluginRealmCache.Key key, org.codehaus.plexus.classworlds.realm.ClassRealm pluginRealm, List<Artifact> pluginArtifacts) - Specified by:
put
in interfacePluginRealmCache
-
flush
public void flush()- Specified by:
flush
in interfacePluginRealmCache
-
pluginHashCode
-
pluginEquals
-
register
public void register(MavenProject project, PluginRealmCache.Key key, PluginRealmCache.CacheRecord record) Description copied from interface:PluginRealmCache
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.- Specified by:
register
in interfacePluginRealmCache
- Parameters:
project
- The project that employs the plugin realm, must not benull
.record
- The cache record being used for the project, must not benull
.
-
dispose
public void dispose()- Specified by:
dispose
in interfaceorg.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable
-