1 package org.eclipse.aether.internal.impl.resolution;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.List;
23
24 import org.eclipse.aether.RepositorySystemSession;
25 import org.eclipse.aether.resolution.ArtifactResult;
26 import org.eclipse.aether.spi.resolution.ArtifactResolverPostProcessor;
27 import org.eclipse.aether.util.ConfigUtils;
28
29 import static java.util.Objects.requireNonNull;
30
31
32
33
34
35
36 public abstract class ArtifactResolverPostProcessorSupport
37 implements ArtifactResolverPostProcessor
38 {
39 private static final String CONFIG_PROP_PREFIX = "aether.artifactResolver.postProcessor.";
40
41 private final String name;
42
43 protected ArtifactResolverPostProcessorSupport( String name )
44 {
45 this.name = requireNonNull( name );
46 }
47
48
49
50
51 @Override
52 public void postProcess( RepositorySystemSession session, List<ArtifactResult> artifactResults )
53 {
54 if ( isEnabled( session ) )
55 {
56 doPostProcess( session, artifactResults );
57 }
58 }
59
60 protected abstract void doPostProcess( RepositorySystemSession session, List<ArtifactResult> artifactResults );
61
62
63
64
65 protected String configPropKey( String name )
66 {
67 requireNonNull( name );
68 return CONFIG_PROP_PREFIX + this.name + "." + name;
69 }
70
71
72
73
74
75
76 protected boolean isEnabled( RepositorySystemSession session )
77 {
78 return ConfigUtils.getBoolean( session, false, CONFIG_PROP_PREFIX + this.name );
79 }
80 }