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 abstract class AbstractChecksumPolicy
29 implements ChecksumPolicy
30 {
31
32 protected final Logger logger = LoggerFactory.getLogger( getClass() );
33
34 protected final TransferResource resource;
35
36 protected AbstractChecksumPolicy( TransferResource resource )
37 {
38 this.resource = resource;
39 }
40
41 public boolean onChecksumMatch( String algorithm, int kind )
42 {
43 return true;
44 }
45
46 public void onChecksumMismatch( String algorithm, int kind, ChecksumFailureException exception )
47 throws ChecksumFailureException
48 {
49 if ( ( kind & KIND_UNOFFICIAL ) == 0 )
50 {
51 throw exception;
52 }
53 }
54
55 public void onChecksumError( String algorithm, int kind, ChecksumFailureException exception )
56 throws ChecksumFailureException
57 {
58 logger.debug( "Could not validate {} checksum for {}", algorithm, resource.getResourceName(), exception );
59 }
60
61 public void onNoMoreChecksums()
62 throws ChecksumFailureException
63 {
64 throw new ChecksumFailureException( "Checksum validation failed, no checksums available" );
65 }
66
67 public void onTransferRetry()
68 {
69 }
70
71 }