public class org.apache.commons.vfs2.provider.ftp.FtpFileSystem 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.ftp.FtpFileSystem
super_class: org.apache.commons.vfs2.provider.AbstractFileSystem
{
private static final org.apache.commons.logging.Log LOG;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<org.apache.commons.vfs2.provider.ftp.FtpClient> idleClient;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/apache/commons/vfs2/provider/ftp/FtpClient;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/commons/vfs2/provider/ftp/FtpFileSystem;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putstatic org.apache.commons.vfs2.provider.ftp.FtpFileSystem.LOG:Lorg/apache/commons/logging/Log;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.commons.vfs2.provider.GenericFileName, org.apache.commons.vfs2.provider.ftp.FtpClient, org.apache.commons.vfs2.FileSystemOptions);
descriptor: (Lorg/apache/commons/vfs2/provider/GenericFileName;Lorg/apache/commons/vfs2/provider/ftp/FtpClient;Lorg/apache/commons/vfs2/FileSystemOptions;)V
flags: (0x0001) ACC_PUBLIC
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
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield org.apache.commons.vfs2.provider.ftp.FtpFileSystem.idleClient:Ljava/util/concurrent/atomic/AtomicReference;
2: aload 0
getfield org.apache.commons.vfs2.provider.ftp.FtpFileSystem.idleClient:Ljava/util/concurrent/atomic/AtomicReference;
aload 2
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/commons/vfs2/provider/ftp/FtpFileSystem;
0 4 1 rootName Lorg/apache/commons/vfs2/provider/GenericFileName;
0 4 2 ftpClient Lorg/apache/commons/vfs2/provider/ftp/FtpClient;
0 4 3 fileSystemOptions Lorg/apache/commons/vfs2/FileSystemOptions;
MethodParameters:
Name Flags
rootName final
ftpClient 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.ftp.FtpFileSystem.idleClient:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.commons.vfs2.provider.ftp.FtpClient
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 0
aload 1
invokevirtual org.apache.commons.vfs2.provider.ftp.FtpFileSystem.closeConnection:(Lorg/apache/commons/vfs2/provider/ftp/FtpClient;)V
3: StackMap locals: org.apache.commons.vfs2.provider.ftp.FtpClient
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/commons/vfs2/provider/ftp/FtpFileSystem;
1 4 1 idle Lorg/apache/commons/vfs2/provider/ftp/FtpClient;
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.ftp.FtpFileProvider.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/ftp/FtpFileSystem;
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
private void closeConnection(org.apache.commons.vfs2.provider.ftp.FtpClient);
descriptor: (Lorg/apache/commons/vfs2/provider/ftp/FtpClient;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.apache.commons.vfs2.provider.ftp.FtpClient.isConnected:()Z
ifeq 5
1: aload 1
invokeinterface org.apache.commons.vfs2.provider.ftp.FtpClient.disconnect:()V
2: goto 5
StackMap locals:
StackMap stack: java.io.IOException
3: astore 2
start local 2 4: aload 0
invokevirtual org.apache.commons.vfs2.provider.ftp.FtpFileSystem.getLogger:()Lorg/apache/commons/logging/Log;
getstatic org.apache.commons.vfs2.provider.ftp.FtpFileSystem.LOG:Lorg/apache/commons/logging/Log;
ldc "vfs.provider.ftp/close-connection.error"
aload 2
invokestatic org.apache.commons.vfs2.VfsLog.warn:(Lorg/apache/commons/logging/Log;Lorg/apache/commons/logging/Log;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/commons/vfs2/provider/ftp/FtpFileSystem;
0 6 1 client Lorg/apache/commons/vfs2/provider/ftp/FtpClient;
4 5 2 e Ljava/io/IOException;
Exception table:
from to target type
0 2 3 Class java.io.IOException
MethodParameters:
Name Flags
client final
public org.apache.commons.vfs2.provider.ftp.FtpClient getClient();
descriptor: ()Lorg/apache/commons/vfs2/provider/ftp/FtpClient;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.vfs2.provider.ftp.FtpFileSystem.idleClient:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.commons.vfs2.provider.ftp.FtpClient
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
invokeinterface org.apache.commons.vfs2.provider.ftp.FtpClient.isConnected:()Z
ifne 3
2: StackMap locals: org.apache.commons.vfs2.provider.ftp.FtpClient
StackMap stack:
aload 0
invokevirtual org.apache.commons.vfs2.provider.ftp.FtpFileSystem.createWrapper:()Lorg/apache/commons/vfs2/provider/ftp/FTPClientWrapper;
astore 1
3: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/commons/vfs2/provider/ftp/FtpFileSystem;
1 4 1 client Lorg/apache/commons/vfs2/provider/ftp/FtpClient;
Exceptions:
throws org.apache.commons.vfs2.FileSystemException
protected org.apache.commons.vfs2.provider.ftp.FTPClientWrapper createWrapper();
descriptor: ()Lorg/apache/commons/vfs2/provider/ftp/FTPClientWrapper;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.apache.commons.vfs2.provider.ftp.FTPClientWrapper
dup
aload 0
invokevirtual org.apache.commons.vfs2.provider.ftp.FtpFileSystem.getRoot:()Lorg/apache/commons/vfs2/FileObject;
invokeinterface org.apache.commons.vfs2.FileObject.getName:()Lorg/apache/commons/vfs2/FileName;
checkcast org.apache.commons.vfs2.provider.GenericFileName
aload 0
invokevirtual org.apache.commons.vfs2.provider.ftp.FtpFileSystem.getFileSystemOptions:()Lorg/apache/commons/vfs2/FileSystemOptions;
invokespecial org.apache.commons.vfs2.provider.ftp.FTPClientWrapper.<init>:(Lorg/apache/commons/vfs2/provider/GenericFileName;Lorg/apache/commons/vfs2/FileSystemOptions;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/vfs2/provider/ftp/FtpFileSystem;
Exceptions:
throws org.apache.commons.vfs2.FileSystemException
public void putClient(org.apache.commons.vfs2.provider.ftp.FtpClient);
descriptor: (Lorg/apache/commons/vfs2/provider/ftp/FtpClient;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.commons.vfs2.provider.ftp.FtpFileSystem.idleClient:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 2
1: aload 0
aload 1
invokevirtual org.apache.commons.vfs2.provider.ftp.FtpFileSystem.closeConnection:(Lorg/apache/commons/vfs2/provider/ftp/FtpClient;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/vfs2/provider/ftp/FtpFileSystem;
0 3 1 client Lorg/apache/commons/vfs2/provider/ftp/FtpClient;
MethodParameters:
Name Flags
client 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=5, locals=2, args_size=2
start local 0 start local 1 0: new org.apache.commons.vfs2.provider.ftp.FtpFileObject
dup
aload 1
aload 0
aload 0
invokevirtual org.apache.commons.vfs2.provider.ftp.FtpFileSystem.getRootName:()Lorg/apache/commons/vfs2/FileName;
invokespecial org.apache.commons.vfs2.provider.ftp.FtpFileObject.<init>:(Lorg/apache/commons/vfs2/provider/AbstractFileName;Lorg/apache/commons/vfs2/provider/ftp/FtpFileSystem;Lorg/apache/commons/vfs2/FileName;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/vfs2/provider/ftp/FtpFileSystem;
0 1 1 name Lorg/apache/commons/vfs2/provider/AbstractFileName;
Exceptions:
throws org.apache.commons.vfs2.FileSystemException
MethodParameters:
Name Flags
name final
}
SourceFile: "FtpFileSystem.java"