public class org.apache.commons.vfs2.provider.sftp.SftpFileSystem extends org.apache.commons.vfs2.provider.AbstractFileSystem
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.vfs2.provider.sftp.SftpFileSystem
super_class: org.apache.commons.vfs2.provider.AbstractFileSystem
{
private static final int UNIDENTIFED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int SLEEP_MILLIS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 100
private static final int EXEC_BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private static final long LAST_MOD_TIME_ACCURACY;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1000
private volatile com.jcraft.jsch.Session session;
descriptor: Lcom/jcraft/jsch/Session;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile com.jcraft.jsch.ChannelSftp idleChannel;
descriptor: Lcom/jcraft/jsch/ChannelSftp;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final int connectTimeoutMillis;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile int uid;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int[] groupsIds;
descriptor: [I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
protected void <init>(org.apache.commons.vfs2.provider.GenericFileName, com.jcraft.jsch.Session, org.apache.commons.vfs2.FileSystemOptions);
descriptor: (Lorg/apache/commons/vfs2/provider/GenericFileName;Lcom/jcraft/jsch/Session;Lorg/apache/commons/vfs2/FileSystemOptions;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aconst_null
aload 3
invokespecial org.apache.commons.vfs2.provider.AbstractFileSystem.<init>:(Lorg/apache/commons/vfs2/FileName;Lorg/apache/commons/vfs2/FileObject;Lorg/apache/commons/vfs2/FileSystemOptions;)V
1: aload 0
iconst_m1
putfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.uid:I
2: aload 0
aload 2
ldc "session"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast com.jcraft.jsch.Session
putfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.session:Lcom/jcraft/jsch/Session;
3: aload 0
invokestatic org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getInstance:()Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder;
4: aload 3
invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getConnectTimeoutMillis:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
5: putfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.connectTimeoutMillis:I
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystem;
0 7 1 rootName Lorg/apache/commons/vfs2/provider/GenericFileName;
0 7 2 session Lcom/jcraft/jsch/Session;
0 7 3 fileSystemOptions Lorg/apache/commons/vfs2/FileSystemOptions;
MethodParameters:
Name Flags
rootName final
session final
fileSystemOptions final
protected void doCloseCommunicationLink();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.idleChannel:Lcom/jcraft/jsch/ChannelSftp;
ifnull 9
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.idleChannel:Lcom/jcraft/jsch/ChannelSftp;
ifnull 5
3: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.idleChannel:Lcom/jcraft/jsch/ChannelSftp;
invokevirtual com.jcraft.jsch.ChannelSftp.disconnect:()V
4: aload 0
aconst_null
putfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.idleChannel:Lcom/jcraft/jsch/ChannelSftp;
5: StackMap locals: org.apache.commons.vfs2.provider.sftp.SftpFileSystem
StackMap stack:
aload 1
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 1
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.session:Lcom/jcraft/jsch/Session;
ifnull 11
10: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.session:Lcom/jcraft/jsch/Session;
invokevirtual com.jcraft.jsch.Session.disconnect:()V
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystem;
Exception table:
from to target type
2 6 7 any
7 8 7 any
protected com.jcraft.jsch.ChannelSftp getChannel();
descriptor: ()Lcom/jcraft/jsch/ChannelSftp;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.idleChannel:Lcom/jcraft/jsch/ChannelSftp;
ifnull 10
2: aload 0
dup
astore 2
monitorenter
3: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.idleChannel:Lcom/jcraft/jsch/ChannelSftp;
ifnull 6
4: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.idleChannel:Lcom/jcraft/jsch/ChannelSftp;
astore 1
5: aload 0
aconst_null
putfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.idleChannel:Lcom/jcraft/jsch/ChannelSftp;
6: StackMap locals: com.jcraft.jsch.ChannelSftp org.apache.commons.vfs2.provider.sftp.SftpFileSystem
StackMap stack:
aload 2
monitorexit
7: goto 23
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getSession:()Lcom/jcraft/jsch/Session;
ldc "sftp"
invokevirtual com.jcraft.jsch.Session.openChannel:(Ljava/lang/String;)Lcom/jcraft/jsch/Channel;
checkcast com.jcraft.jsch.ChannelSftp
astore 1
11: aload 1
aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.connectTimeoutMillis:I
invokevirtual com.jcraft.jsch.ChannelSftp.connect:(I)V
12: invokestatic org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getInstance:()Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder;
13: aload 0
invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getFileSystemOptions:()Lorg/apache/commons/vfs2/FileSystemOptions;
invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getUserDirIsRoot:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/lang/Boolean;
14: astore 2
start local 2 15: aload 0
invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getRootName:()Lorg/apache/commons/vfs2/FileName;
invokeinterface org.apache.commons.vfs2.FileName.getPath:()Ljava/lang/String;
astore 3
start local 3 16: aload 3
ifnull 23
aload 2
ifnull 17
aload 2
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 23
17: StackMap locals: java.lang.Boolean java.lang.String
StackMap stack:
aload 1
aload 3
invokevirtual com.jcraft.jsch.ChannelSftp.cd:(Ljava/lang/String;)V
18: goto 23
StackMap locals:
StackMap stack: com.jcraft.jsch.SftpException
19: astore 4
start local 4 20: new org.apache.commons.vfs2.FileSystemException
dup
ldc "vfs.provider.sftp/change-work-directory.error"
aload 3
21: aload 4
22: invokespecial org.apache.commons.vfs2.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 23: StackMap locals:
StackMap stack:
invokestatic org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getInstance:()Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder;
24: aload 0
invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getFileSystemOptions:()Lorg/apache/commons/vfs2/FileSystemOptions;
invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getFileNameEncoding:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/lang/String;
25: astore 2
start local 2 26: aload 2
ifnull 31
27: aload 1
aload 2
invokevirtual com.jcraft.jsch.ChannelSftp.setFilenameEncoding:(Ljava/lang/String;)V
28: goto 31
StackMap locals: org.apache.commons.vfs2.provider.sftp.SftpFileSystem com.jcraft.jsch.ChannelSftp java.lang.String
StackMap stack: com.jcraft.jsch.SftpException
29: pop
30: new org.apache.commons.vfs2.FileSystemException
dup
ldc "vfs.provider.sftp/filename-encoding.error"
aload 2
invokespecial org.apache.commons.vfs2.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
athrow
31: StackMap locals:
StackMap stack:
aload 1
32: areturn
end local 2 end local 1 33: StackMap locals: org.apache.commons.vfs2.provider.sftp.SftpFileSystem
StackMap stack: com.jcraft.jsch.JSchException
astore 1
start local 1 34: new org.apache.commons.vfs2.FileSystemException
dup
ldc "vfs.provider.sftp/connect.error"
aload 0
invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getRootName:()Lorg/apache/commons/vfs2/FileName;
aload 1
invokespecial org.apache.commons.vfs2.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystem;
1 33 1 channel Lcom/jcraft/jsch/ChannelSftp;
15 23 2 userDirIsRoot Ljava/lang/Boolean;
16 23 3 workingDirectory Ljava/lang/String;
20 23 4 e Lcom/jcraft/jsch/SftpException;
26 33 2 fileNameEncoding Ljava/lang/String;
34 35 1 e Lcom/jcraft/jsch/JSchException;
Exception table:
from to target type
3 7 8 any
8 9 8 any
17 18 19 Class com.jcraft.jsch.SftpException
27 28 29 Class com.jcraft.jsch.SftpException
0 32 33 Class com.jcraft.jsch.JSchException
Exceptions:
throws java.io.IOException
private com.jcraft.jsch.Session getSession();
descriptor: ()Lcom/jcraft/jsch/Session;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.session:Lcom/jcraft/jsch/Session;
invokevirtual com.jcraft.jsch.Session.isConnected:()Z
ifne 11
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.session:Lcom/jcraft/jsch/Session;
invokevirtual com.jcraft.jsch.Session.isConnected:()Z
ifne 7
3: aload 0
invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystem.doCloseCommunicationLink:()V
4: aload 0
aload 0
invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getRootName:()Lorg/apache/commons/vfs2/FileName;
checkcast org.apache.commons.vfs2.provider.GenericFileName
5: aload 0
invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getFileSystemOptions:()Lorg/apache/commons/vfs2/FileSystemOptions;
6: invokestatic org.apache.commons.vfs2.provider.sftp.SftpFileProvider.createSession:(Lorg/apache/commons/vfs2/provider/GenericFileName;Lorg/apache/commons/vfs2/FileSystemOptions;)Lcom/jcraft/jsch/Session;
putfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.session:Lcom/jcraft/jsch/Session;
7: StackMap locals: org.apache.commons.vfs2.provider.sftp.SftpFileSystem
StackMap stack:
aload 1
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 1
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.session:Lcom/jcraft/jsch/Session;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystem;
Exception table:
from to target type
2 8 9 any
9 10 9 any
Exceptions:
throws org.apache.commons.vfs2.FileSystemException
protected void putChannel(com.jcraft.jsch.ChannelSftp);
descriptor: (Lcom/jcraft/jsch/ChannelSftp;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.idleChannel:Lcom/jcraft/jsch/ChannelSftp;
ifnonnull 11
1: aload 0
dup
astore 2
monitorenter
2: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.idleChannel:Lcom/jcraft/jsch/ChannelSftp;
ifnonnull 6
3: aload 1
invokevirtual com.jcraft.jsch.ChannelSftp.isConnected:()Z
ifeq 7
aload 1
invokevirtual com.jcraft.jsch.ChannelSftp.isClosed:()Z
ifne 7
4: aload 0
aload 1
putfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.idleChannel:Lcom/jcraft/jsch/ChannelSftp;
5: goto 7
6: StackMap locals: org.apache.commons.vfs2.provider.sftp.SftpFileSystem
StackMap stack:
aload 1
invokevirtual com.jcraft.jsch.ChannelSftp.disconnect:()V
7: StackMap locals:
StackMap stack:
aload 2
monitorexit
8: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.jcraft.jsch.ChannelSftp.disconnect:()V
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystem;
0 13 1 channel Lcom/jcraft/jsch/ChannelSftp;
Exception table:
from to target type
2 8 9 any
9 10 9 any
MethodParameters:
Name Flags
channel final
protected void addCapabilities(java.util.Collection<org.apache.commons.vfs2.Capability>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.apache.commons.vfs2.provider.sftp.SftpFileProvider.capabilities:Ljava/util/Collection;
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystem;
0 2 1 caps Ljava/util/Collection<Lorg/apache/commons/vfs2/Capability;>;
Signature: (Ljava/util/Collection<Lorg/apache/commons/vfs2/Capability;>;)V
MethodParameters:
Name Flags
caps final
protected org.apache.commons.vfs2.FileObject createFile(org.apache.commons.vfs2.provider.AbstractFileName);
descriptor: (Lorg/apache/commons/vfs2/provider/AbstractFileName;)Lorg/apache/commons/vfs2/FileObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.apache.commons.vfs2.provider.sftp.SftpFileObject
dup
aload 1
aload 0
invokespecial org.apache.commons.vfs2.provider.sftp.SftpFileObject.<init>:(Lorg/apache/commons/vfs2/provider/AbstractFileName;Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystem;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystem;
0 1 1 name Lorg/apache/commons/vfs2/provider/AbstractFileName;
Exceptions:
throws org.apache.commons.vfs2.FileSystemException
MethodParameters:
Name Flags
name final
public double getLastModTimeAccuracy();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc 1000.0
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystem;
public int[] getGroupsIds();
descriptor: ()[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.groupsIds:[I
ifnonnull 21
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.groupsIds:[I
ifnonnull 17
3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 4: aload 0
ldc "id -G"
aload 2
invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystem.executeCommand:(Ljava/lang/String;Ljava/lang/StringBuilder;)I
istore 3
start local 3 5: iload 3
ifeq 9
6: new com.jcraft.jsch.JSchException
dup
7: new java.lang.StringBuilder
dup
ldc "Could not get the groups id of the current user (error code: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: org.apache.commons.vfs2.provider.sftp.SftpFileSystem java.lang.StringBuilder int
StackMap stack:
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
ldc "\\s+"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 10: aload 4
arraylength
newarray 10
astore 5
start local 5 11: iconst_0
istore 6
start local 6 12: goto 15
13: StackMap locals: java.lang.String[] int[] int
StackMap stack:
aload 5
iload 6
aload 4
iload 6
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
iastore
14: iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
aload 4
arraylength
if_icmplt 13
end local 6 16: aload 0
aload 5
putfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.groupsIds:[I
end local 5 end local 4 end local 3 end local 2 17: StackMap locals: org.apache.commons.vfs2.provider.sftp.SftpFileSystem org.apache.commons.vfs2.provider.sftp.SftpFileSystem
StackMap stack:
aload 1
monitorexit
18: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
19: aload 1
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.groupsIds:[I
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystem;
4 17 2 output Ljava/lang/StringBuilder;
5 17 3 code I
10 17 4 groups [Ljava/lang/String;
11 17 5 groupsIds [I
12 16 6 i I
Exception table:
from to target type
2 18 19 any
19 20 19 any
Exceptions:
throws com.jcraft.jsch.JSchException, java.io.IOException
public int getUId();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.uid:I
iconst_m1
if_icmpne 14
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.uid:I
iconst_m1
if_icmpne 10
3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 4: aload 0
ldc "id -u"
aload 2
invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystem.executeCommand:(Ljava/lang/String;Ljava/lang/StringBuilder;)I
istore 3
start local 3 5: iload 3
ifeq 9
6: new org.apache.commons.vfs2.FileSystemException
dup
7: new java.lang.StringBuilder
dup
ldc "Could not get the user id of the current user (error code: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial org.apache.commons.vfs2.FileSystemException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: org.apache.commons.vfs2.provider.sftp.SftpFileSystem java.lang.StringBuilder int
StackMap stack:
aload 0
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.uid:I
end local 3 end local 2 10: StackMap locals:
StackMap stack:
aload 1
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 1
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.uid:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystem;
4 10 2 output Ljava/lang/StringBuilder;
5 10 3 code I
Exception table:
from to target type
2 11 12 any
12 13 12 any
Exceptions:
throws com.jcraft.jsch.JSchException, java.io.IOException
private int executeCommand(java.lang.String, java.lang.StringBuilder);
descriptor: (Ljava/lang/String;Ljava/lang/StringBuilder;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getSession:()Lcom/jcraft/jsch/Session;
ldc "exec"
invokevirtual com.jcraft.jsch.Session.openChannel:(Ljava/lang/String;)Lcom/jcraft/jsch/Channel;
checkcast com.jcraft.jsch.ChannelExec
astore 3
start local 3 1: aload 3
aload 1
invokevirtual com.jcraft.jsch.ChannelExec.setCommand:(Ljava/lang/String;)V
2: aload 3
aconst_null
invokevirtual com.jcraft.jsch.ChannelExec.setInputStream:(Ljava/io/InputStream;)V
3: aconst_null
astore 4
aconst_null
astore 5
4: new java.io.InputStreamReader
dup
aload 3
invokevirtual com.jcraft.jsch.ChannelExec.getInputStream:()Ljava/io/InputStream;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
astore 6
start local 6 5: aload 3
getstatic java.lang.System.err:Ljava/io/PrintStream;
iconst_1
invokevirtual com.jcraft.jsch.ChannelExec.setErrStream:(Ljava/io/OutputStream;Z)V
6: aload 3
aload 0
getfield org.apache.commons.vfs2.provider.sftp.SftpFileSystem.connectTimeoutMillis:I
invokevirtual com.jcraft.jsch.ChannelExec.connect:(I)V
7: sipush 128
newarray 5
astore 7
start local 7 8: goto 10
start local 8 9: StackMap locals: org.apache.commons.vfs2.provider.sftp.SftpFileSystem java.lang.String java.lang.StringBuilder com.jcraft.jsch.ChannelExec java.lang.Throwable java.lang.Throwable java.io.InputStreamReader char[] int
StackMap stack:
aload 2
aload 7
iconst_0
iload 8
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
end local 8 10: StackMap locals:
StackMap stack:
aload 6
aload 7
iconst_0
aload 7
arraylength
invokevirtual java.io.InputStreamReader.read:([CII)I
dup
istore 8
start local 8 11: ifge 9
end local 8 end local 7 12: aload 6
ifnull 21
aload 6
invokevirtual java.io.InputStreamReader.close:()V
goto 21
StackMap locals: org.apache.commons.vfs2.provider.sftp.SftpFileSystem java.lang.String java.lang.StringBuilder com.jcraft.jsch.ChannelExec java.lang.Throwable java.lang.Throwable java.io.InputStreamReader
StackMap stack: java.lang.Throwable
13: astore 4
aload 6
ifnull 14
aload 6
invokevirtual java.io.InputStreamReader.close:()V
end local 6 StackMap locals:
StackMap stack:
14: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 5
aload 4
ifnonnull 16
aload 5
astore 4
goto 17
StackMap locals:
StackMap stack:
16: aload 4
aload 5
if_acmpeq 17
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 4
athrow
18: StackMap locals:
StackMap stack:
ldc 100
invokestatic java.lang.Thread.sleep:(J)V
19: goto 21
StackMap locals:
StackMap stack: java.lang.Exception
20: pop
21: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.jcraft.jsch.ChannelExec.isClosed:()Z
ifeq 18
22: goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
23: astore 9
24: aload 3
invokevirtual com.jcraft.jsch.ChannelExec.disconnect:()V
25: aload 9
athrow
26: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.jcraft.jsch.ChannelExec.disconnect:()V
27: aload 3
invokevirtual com.jcraft.jsch.ChannelExec.getExitStatus:()I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystem;
0 28 1 command Ljava/lang/String;
0 28 2 output Ljava/lang/StringBuilder;
1 28 3 channel Lcom/jcraft/jsch/ChannelExec;
5 14 6 stream Ljava/io/InputStreamReader;
8 12 7 buffer [C
9 10 8 read I
11 12 8 read I
Exception table:
from to target type
5 12 13 any
4 15 15 any
18 19 20 Class java.lang.Exception
1 23 23 any
Exceptions:
throws com.jcraft.jsch.JSchException, java.io.IOException
MethodParameters:
Name Flags
command final
output final
}
SourceFile: "SftpFileSystem.java"