1 package org.eclipse.aether.internal.impl;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.eclipse.aether.spi.connector.checksum.ChecksumPolicy;
23 import org.eclipse.aether.transfer.ChecksumFailureException;
24 import org.eclipse.aether.transfer.TransferResource;
25 import org.slf4j.Logger;
26 import org.slf4j.LoggerFactory;
27
28 import static java.util.Objects.requireNonNull;
29
30 abstract class AbstractChecksumPolicy
31 implements ChecksumPolicy
32 {
33
34 protected final Logger logger = LoggerFactory.getLogger( getClass() );
35
36 protected final TransferResource resource;
37
38 protected AbstractChecksumPolicy( TransferResource resource )
39 {
40 this.resource = resource;
41 }
42
43 @Override
44 public boolean onChecksumMatch( String algorithm, ChecksumKind kind )
45 {
46 requireNonNull( algorithm, "algorithm cannot be null" );
47 return true;
48 }
49
50 @Override
51 public void onChecksumMismatch( String algorithm, ChecksumKind kind, ChecksumFailureException exception )
52 throws ChecksumFailureException
53 {
54 requireNonNull( algorithm, "algorithm cannot be null" );
55 requireNonNull( exception, "exception cannot be null" );
56 throw exception;
57 }
58
59 @Override
60 public void onChecksumError( String algorithm, ChecksumKind kind, ChecksumFailureException exception )
61 throws ChecksumFailureException
62 {
63 requireNonNull( algorithm, "algorithm cannot be null" );
64 requireNonNull( exception, "exception cannot be null" );
65 logger.debug( "Could not validate {} checksum for {}", algorithm, resource.getResourceName(), exception );
66 }
67
68 @Override
69 public void onNoMoreChecksums()
70 throws ChecksumFailureException
71 {
72 throw new ChecksumFailureException( "Checksum validation failed, no checksums available" );
73 }
74
75 @Override
76 public void onTransferRetry()
77 {
78 }
79
80 }