Package org.apache.maven.plugin
Class DefaultPluginArtifactsCache
- java.lang.Object
-
- org.apache.maven.plugin.DefaultPluginArtifactsCache
-
- All Implemented Interfaces:
PluginArtifactsCache
@Component(role=PluginArtifactsCache.class) public class DefaultPluginArtifactsCache extends Object implements PluginArtifactsCache
- Author:
- Igor Fedorenko, Benjamin Bentmann
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
DefaultPluginArtifactsCache.CacheKey
CacheKey-
Nested classes/interfaces inherited from interface org.apache.maven.plugin.PluginArtifactsCache
PluginArtifactsCache.CacheRecord, PluginArtifactsCache.Key
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<PluginArtifactsCache.Key,PluginArtifactsCache.CacheRecord>
cache
-
Constructor Summary
Constructors Constructor Description DefaultPluginArtifactsCache()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
assertUniqueKey(PluginArtifactsCache.Key key)
PluginArtifactsCache.Key
createKey(Plugin plugin, org.eclipse.aether.graph.DependencyFilter extensionFilter, List<org.eclipse.aether.repository.RemoteRepository> repositories, org.eclipse.aether.RepositorySystemSession session)
void
flush()
PluginArtifactsCache.CacheRecord
get(PluginArtifactsCache.Key key)
protected static boolean
pluginEquals(Plugin a, Plugin b)
protected static int
pluginHashCode(Plugin plugin)
PluginArtifactsCache.CacheRecord
put(PluginArtifactsCache.Key key, List<Artifact> pluginArtifacts)
PluginArtifactsCache.CacheRecord
put(PluginArtifactsCache.Key key, PluginResolutionException exception)
void
register(MavenProject project, PluginArtifactsCache.Key cacheKey, PluginArtifactsCache.CacheRecord record)
Registers the specified cache record for usage with the given project.
-
-
-
Field Detail
-
cache
protected final Map<PluginArtifactsCache.Key,PluginArtifactsCache.CacheRecord> cache
-
-
Method Detail
-
createKey
public PluginArtifactsCache.Key createKey(Plugin plugin, org.eclipse.aether.graph.DependencyFilter extensionFilter, List<org.eclipse.aether.repository.RemoteRepository> repositories, org.eclipse.aether.RepositorySystemSession session)
- Specified by:
createKey
in interfacePluginArtifactsCache
-
get
public PluginArtifactsCache.CacheRecord get(PluginArtifactsCache.Key key) throws PluginResolutionException
- Specified by:
get
in interfacePluginArtifactsCache
- Throws:
PluginResolutionException
-
put
public PluginArtifactsCache.CacheRecord put(PluginArtifactsCache.Key key, List<Artifact> pluginArtifacts)
- Specified by:
put
in interfacePluginArtifactsCache
-
assertUniqueKey
protected void assertUniqueKey(PluginArtifactsCache.Key key)
-
put
public PluginArtifactsCache.CacheRecord put(PluginArtifactsCache.Key key, PluginResolutionException exception)
- Specified by:
put
in interfacePluginArtifactsCache
-
flush
public void flush()
- Specified by:
flush
in interfacePluginArtifactsCache
-
pluginHashCode
protected static int pluginHashCode(Plugin plugin)
-
register
public void register(MavenProject project, PluginArtifactsCache.Key cacheKey, PluginArtifactsCache.CacheRecord record)
Description copied from interface:PluginArtifactsCache
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 interfacePluginArtifactsCache
- Parameters:
project
- The project that employs the plugin realm, must not benull
.record
- The cache record being used for the project, must not benull
.
-
-