class org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner extends org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner implements org.eclipse.aether.connector.basic.PartialFile$RemoteAccessChecker, org.eclipse.aether.connector.basic.ChecksumValidator$ChecksumFetcher
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner
super_class: org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner
{
private final java.io.File file;
descriptor: Ljava/io/File;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.eclipse.aether.connector.basic.ChecksumValidator checksumValidator;
descriptor: Lorg/eclipse/aether/connector/basic/ChecksumValidator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final org.eclipse.aether.connector.basic.BasicRepositoryConnector this$0;
descriptor: Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(java.net.URI, java.io.File, org.eclipse.aether.spi.connector.checksum.ChecksumPolicy, java.util.List<org.eclipse.aether.spi.connector.layout.RepositoryLayout$Checksum>, org.eclipse.aether.connector.basic.TransferTransportListener<?>);
descriptor: (Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector;Ljava/net/URI;Ljava/io/File;Lorg/eclipse/aether/spi/connector/checksum/ChecksumPolicy;Ljava/util/List;Lorg/eclipse/aether/connector/basic/TransferTransportListener;)V
flags: (0x0000)
Code:
stack=8, locals=7, args_size=7
start local 0 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
putfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.this$0:Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector;
1: aload 0
aload 1
aload 2
aload 6
invokespecial org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.<init>:(Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector;Ljava/net/URI;Lorg/eclipse/aether/connector/basic/TransferTransportListener;)V
2: aload 0
aload 3
ldc "destination file cannot be null"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.io.File
putfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.file:Ljava/io/File;
3: aload 0
4: new org.eclipse.aether.connector.basic.ChecksumValidator
dup
aload 3
aload 1
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector.fileProcessor:Lorg/eclipse/aether/spi/io/FileProcessor;
aload 0
aload 4
aload 5
invokestatic org.eclipse.aether.connector.basic.BasicRepositoryConnector.safe:(Ljava/util/Collection;)Ljava/util/Collection;
invokespecial org.eclipse.aether.connector.basic.ChecksumValidator.<init>:(Ljava/io/File;Lorg/eclipse/aether/spi/io/FileProcessor;Lorg/eclipse/aether/connector/basic/ChecksumValidator$ChecksumFetcher;Lorg/eclipse/aether/spi/connector/checksum/ChecksumPolicy;Ljava/util/Collection;)V
5: putfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.checksumValidator:Lorg/eclipse/aether/connector/basic/ChecksumValidator;
6: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector$GetTaskRunner;
0 7 2 path Ljava/net/URI;
0 7 3 file Ljava/io/File;
0 7 4 checksumPolicy Lorg/eclipse/aether/spi/connector/checksum/ChecksumPolicy;
0 7 5 checksums Ljava/util/List<Lorg/eclipse/aether/spi/connector/layout/RepositoryLayout$Checksum;>;
0 7 6 listener Lorg/eclipse/aether/connector/basic/TransferTransportListener<*>;
Signature: (Ljava/net/URI;Ljava/io/File;Lorg/eclipse/aether/spi/connector/checksum/ChecksumPolicy;Ljava/util/List<Lorg/eclipse/aether/spi/connector/layout/RepositoryLayout$Checksum;>;Lorg/eclipse/aether/connector/basic/TransferTransportListener<*>;)V
MethodParameters:
Name Flags
this$0 final
path
file
checksumPolicy
checksums
listener
public void checkRemoteAccess();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.this$0:Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector;
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector.transporter:Lorg/eclipse/aether/spi/connector/transport/Transporter;
new org.eclipse.aether.spi.connector.transport.PeekTask
dup
aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.path:Ljava/net/URI;
invokespecial org.eclipse.aether.spi.connector.transport.PeekTask.<init>:(Ljava/net/URI;)V
invokeinterface org.eclipse.aether.spi.connector.transport.Transporter.peek:(Lorg/eclipse/aether/spi/connector/transport/PeekTask;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector$GetTaskRunner;
Exceptions:
throws java.lang.Exception
public boolean fetchChecksum(java.net.URI, java.io.File);
descriptor: (Ljava/net/URI;Ljava/io/File;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.this$0:Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector;
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector.transporter:Lorg/eclipse/aether/spi/connector/transport/Transporter;
new org.eclipse.aether.spi.connector.transport.GetTask
dup
aload 1
invokespecial org.eclipse.aether.spi.connector.transport.GetTask.<init>:(Ljava/net/URI;)V
aload 2
invokevirtual org.eclipse.aether.spi.connector.transport.GetTask.setDataFile:(Ljava/io/File;)Lorg/eclipse/aether/spi/connector/transport/GetTask;
invokeinterface org.eclipse.aether.spi.connector.transport.Transporter.get:(Lorg/eclipse/aether/spi/connector/transport/GetTask;)V
1: goto 6
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 3: aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.this$0:Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector;
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector.transporter:Lorg/eclipse/aether/spi/connector/transport/Transporter;
aload 3
invokeinterface org.eclipse.aether.spi.connector.transport.Transporter.classify:(Ljava/lang/Throwable;)I
iconst_1
if_icmpne 5
4: iconst_0
ireturn
5: StackMap locals: java.lang.Exception
StackMap stack:
aload 3
athrow
end local 3 6: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector$GetTaskRunner;
0 7 1 remote Ljava/net/URI;
0 7 2 local Ljava/io/File;
3 6 3 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
remote
local
protected void runTask();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=11, args_size=1
start local 0 0: aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.this$0:Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector;
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector.fileProcessor:Lorg/eclipse/aether/spi/io/FileProcessor;
aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.file:Ljava/io/File;
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
invokeinterface org.eclipse.aether.spi.io.FileProcessor.mkdirs:(Ljava/io/File;)Z
pop
1: aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.this$0:Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector;
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector.partialFileFactory:Lorg/eclipse/aether/connector/basic/PartialFile$Factory;
aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.file:Ljava/io/File;
aload 0
invokevirtual org.eclipse.aether.connector.basic.PartialFile$Factory.newInstance:(Ljava/io/File;Lorg/eclipse/aether/connector/basic/PartialFile$RemoteAccessChecker;)Lorg/eclipse/aether/connector/basic/PartialFile;
astore 1
start local 1 2: aload 1
ifnonnull 5
3: getstatic org.eclipse.aether.connector.basic.BasicRepositoryConnector.LOGGER:Lorg/slf4j/Logger;
ldc "Concurrent download of {} just finished, skipping download"
aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.file:Ljava/io/File;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
4: return
5: StackMap locals: org.eclipse.aether.connector.basic.PartialFile
StackMap stack:
aload 1
invokevirtual org.eclipse.aether.connector.basic.PartialFile.getFile:()Ljava/io/File;
astore 2
start local 2 6: aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.listener:Lorg/eclipse/aether/connector/basic/TransferTransportListener;
aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.checksumValidator:Lorg/eclipse/aether/connector/basic/ChecksumValidator;
aload 2
invokevirtual org.eclipse.aether.connector.basic.ChecksumValidator.newChecksumCalculator:(Ljava/io/File;)Lorg/eclipse/aether/connector/basic/ChecksumCalculator;
invokevirtual org.eclipse.aether.connector.basic.TransferTransportListener.setChecksumCalculator:(Lorg/eclipse/aether/connector/basic/ChecksumCalculator;)V
7: iconst_0
istore 3
start local 3 8: iconst_1
istore 4
start local 4 9: iload 3
istore 5
start local 5 10: StackMap locals: org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner org.eclipse.aether.connector.basic.PartialFile java.io.File int int int
StackMap stack:
aload 1
invokevirtual org.eclipse.aether.connector.basic.PartialFile.isResume:()Z
ifeq 11
iload 5
iload 3
if_icmpgt 11
iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 6
start local 6 13: new org.eclipse.aether.spi.connector.transport.GetTask
dup
aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.path:Ljava/net/URI;
invokespecial org.eclipse.aether.spi.connector.transport.GetTask.<init>:(Ljava/net/URI;)V
aload 2
iload 6
invokevirtual org.eclipse.aether.spi.connector.transport.GetTask.setDataFile:(Ljava/io/File;Z)Lorg/eclipse/aether/spi/connector/transport/GetTask;
aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.listener:Lorg/eclipse/aether/connector/basic/TransferTransportListener;
invokevirtual org.eclipse.aether.spi.connector.transport.GetTask.setListener:(Lorg/eclipse/aether/spi/connector/transport/TransportListener;)Lorg/eclipse/aether/spi/connector/transport/GetTask;
astore 7
start local 7 14: aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.this$0:Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector;
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector.transporter:Lorg/eclipse/aether/spi/connector/transport/Transporter;
aload 7
invokeinterface org.eclipse.aether.spi.connector.transport.Transporter.get:(Lorg/eclipse/aether/spi/connector/transport/GetTask;)V
15: aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.checksumValidator:Lorg/eclipse/aether/connector/basic/ChecksumValidator;
aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.listener:Lorg/eclipse/aether/connector/basic/TransferTransportListener;
invokevirtual org.eclipse.aether.connector.basic.TransferTransportListener.getChecksums:()Ljava/util/Map;
aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.this$0:Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector;
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector.smartChecksums:Z
ifeq 16
aload 7
invokevirtual org.eclipse.aether.spi.connector.transport.GetTask.getChecksums:()Ljava/util/Map;
goto 17
16: StackMap locals: org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner org.eclipse.aether.connector.basic.PartialFile java.io.File int int int int org.eclipse.aether.spi.connector.transport.GetTask
StackMap stack: org.eclipse.aether.connector.basic.ChecksumValidator java.util.Map
aconst_null
17: StackMap locals: org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner org.eclipse.aether.connector.basic.PartialFile java.io.File int int int int org.eclipse.aether.spi.connector.transport.GetTask
StackMap stack: org.eclipse.aether.connector.basic.ChecksumValidator java.util.Map java.util.Map
invokevirtual org.eclipse.aether.connector.basic.ChecksumValidator.validate:(Ljava/util/Map;Ljava/util/Map;)V
18: goto 29
19: StackMap locals:
StackMap stack: org.eclipse.aether.transfer.ChecksumFailureException
astore 8
start local 8 20: iload 5
iload 4
if_icmpge 21
aload 8
invokevirtual org.eclipse.aether.transfer.ChecksumFailureException.isRetryWorthy:()Z
ifeq 21
iconst_1
goto 22
StackMap locals: org.eclipse.aether.transfer.ChecksumFailureException
StackMap stack:
21: iconst_0
StackMap locals:
StackMap stack: int
22: istore 9
start local 9 23: iload 9
ifne 25
aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.checksumValidator:Lorg/eclipse/aether/connector/basic/ChecksumValidator;
aload 8
invokevirtual org.eclipse.aether.connector.basic.ChecksumValidator.handle:(Lorg/eclipse/aether/transfer/ChecksumFailureException;)Z
ifne 25
24: aload 8
athrow
25: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.listener:Lorg/eclipse/aether/connector/basic/TransferTransportListener;
aload 8
invokevirtual org.eclipse.aether.connector.basic.TransferTransportListener.transferCorrupted:(Ljava/lang/Exception;)V
26: iload 9
ifeq 29
27: aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.checksumValidator:Lorg/eclipse/aether/connector/basic/ChecksumValidator;
invokevirtual org.eclipse.aether.connector.basic.ChecksumValidator.retry:()V
end local 9 end local 8 end local 7 end local 6 28: iinc 5 1
goto 10
end local 5 end local 4 end local 3 29: StackMap locals: org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner org.eclipse.aether.connector.basic.PartialFile java.io.File
StackMap stack:
aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.this$0:Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector;
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector.fileProcessor:Lorg/eclipse/aether/spi/io/FileProcessor;
aload 2
aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.file:Ljava/io/File;
invokeinterface org.eclipse.aether.spi.io.FileProcessor.move:(Ljava/io/File;Ljava/io/File;)V
30: aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.this$0:Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector;
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector.persistedChecksums:Z
ifeq 37
31: aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.checksumValidator:Lorg/eclipse/aether/connector/basic/ChecksumValidator;
invokevirtual org.eclipse.aether.connector.basic.ChecksumValidator.commit:()V
end local 2 32: goto 37
33: StackMap locals: org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner org.eclipse.aether.connector.basic.PartialFile
StackMap stack: java.lang.Throwable
astore 10
34: aload 1
invokevirtual org.eclipse.aether.connector.basic.PartialFile.close:()V
35: aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.checksumValidator:Lorg/eclipse/aether/connector/basic/ChecksumValidator;
invokevirtual org.eclipse.aether.connector.basic.ChecksumValidator.close:()V
36: aload 10
athrow
37: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.aether.connector.basic.PartialFile.close:()V
38: aload 0
getfield org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.checksumValidator:Lorg/eclipse/aether/connector/basic/ChecksumValidator;
invokevirtual org.eclipse.aether.connector.basic.ChecksumValidator.close:()V
39: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lorg/eclipse/aether/connector/basic/BasicRepositoryConnector$GetTaskRunner;
2 40 1 partFile Lorg/eclipse/aether/connector/basic/PartialFile;
6 32 2 tmp Ljava/io/File;
8 29 3 firstTrial I
9 29 4 lastTrial I
10 29 5 trial I
13 28 6 resume Z
14 28 7 task Lorg/eclipse/aether/spi/connector/transport/GetTask;
20 28 8 e Lorg/eclipse/aether/transfer/ChecksumFailureException;
23 28 9 retry Z
Exception table:
from to target type
15 18 19 Class org.eclipse.aether.transfer.ChecksumFailureException
5 33 33 any
Exceptions:
throws java.lang.Exception
}
SourceFile: "BasicRepositoryConnector.java"
NestHost: org.eclipse.aether.connector.basic.BasicRepositoryConnector
InnerClasses:
GetTaskRunner = org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner of org.eclipse.aether.connector.basic.BasicRepositoryConnector
abstract TaskRunner = org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner of org.eclipse.aether.connector.basic.BasicRepositoryConnector
abstract ChecksumFetcher = org.eclipse.aether.connector.basic.ChecksumValidator$ChecksumFetcher of org.eclipse.aether.connector.basic.ChecksumValidator
Factory = org.eclipse.aether.connector.basic.PartialFile$Factory of org.eclipse.aether.connector.basic.PartialFile
abstract RemoteAccessChecker = org.eclipse.aether.connector.basic.PartialFile$RemoteAccessChecker of org.eclipse.aether.connector.basic.PartialFile
public final Checksum = org.eclipse.aether.spi.connector.layout.RepositoryLayout$Checksum of org.eclipse.aether.spi.connector.layout.RepositoryLayout