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 org.eclipse.aether.spi.connector.checksum.ChecksumPolicy;
22 import org.eclipse.aether.transfer.ChecksumFailureException;
23 import org.eclipse.aether.transfer.TransferResource;
24 import org.slf4j.Logger;
25 import org.slf4j.LoggerFactory;
26
27 import static java.util.Objects.requireNonNull;
28
29 abstract class AbstractChecksumPolicy implements ChecksumPolicy {
30
31 protected final Logger logger = LoggerFactory.getLogger(getClass());
32
33 protected final TransferResource resource;
34
35 protected AbstractChecksumPolicy(TransferResource resource) {
36 this.resource = resource;
37 }
38
39 @Override
40 public boolean onChecksumMatch(String algorithm, ChecksumKind kind) {
41 requireNonNull(algorithm, "algorithm cannot be null");
42 return true;
43 }
44
45 @Override
46 public void onChecksumMismatch(String algorithm, ChecksumKind kind, ChecksumFailureException exception)
47 throws ChecksumFailureException {
48 requireNonNull(algorithm, "algorithm cannot be null");
49 requireNonNull(exception, "exception cannot be null");
50 throw exception;
51 }
52
53 @Override
54 public void onChecksumError(String algorithm, ChecksumKind kind, ChecksumFailureException exception)
55 throws ChecksumFailureException {
56 requireNonNull(algorithm, "algorithm cannot be null");
57 requireNonNull(exception, "exception cannot be null");
58 logger.debug("Could not validate {} checksum for {}", algorithm, resource.getResourceName(), exception);
59 }
60
61 @Override
62 public void onNoMoreChecksums() throws ChecksumFailureException {
63 throw new ChecksumFailureException("Checksum validation failed, no checksums available");
64 }
65
66 @Override
67 public void onTransferRetry() {}
68 }