1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.aether.internal.impl;
20
21 import java.util.Set;
22
23 import org.eclipse.aether.artifact.Artifact;
24 import org.eclipse.aether.spi.artifact.ArtifactPredicate;
25 import org.eclipse.aether.spi.connector.checksum.ChecksumAlgorithmFactorySelector;
26
27 import static java.util.Objects.requireNonNull;
28
29 public final class DefaultArtifactPredicate implements ArtifactPredicate {
30 private final ChecksumAlgorithmFactorySelector checksumAlgorithmFactorySelector;
31 private final Set<String> extensionsWithoutChecksums;
32
33 public DefaultArtifactPredicate(
34 ChecksumAlgorithmFactorySelector checksumAlgorithmFactorySelector, Set<String> extensionsWithoutChecksums) {
35 this.checksumAlgorithmFactorySelector = checksumAlgorithmFactorySelector;
36 this.extensionsWithoutChecksums = extensionsWithoutChecksums;
37 }
38
39 @Override
40 public boolean isWithoutChecksum(Artifact artifact) {
41 requireNonNull(artifact);
42 String artifactExtension = artifact.getExtension();
43 for (String extensionWithoutChecksums : extensionsWithoutChecksums) {
44 if (artifactExtension.endsWith(extensionWithoutChecksums)) {
45 return true;
46 }
47 }
48 return false;
49 }
50
51 @Override
52 public boolean isChecksum(Artifact artifact) {
53 requireNonNull(artifact);
54 return checksumAlgorithmFactorySelector.isChecksumExtension(artifact.getExtension());
55 }
56 }