public class org.eclipse.jgit.transport.resolver.FileResolver<C> implements org.eclipse.jgit.transport.resolver.RepositoryResolver<C>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jgit.transport.resolver.FileResolver
super_class: java.lang.Object
{
private volatile boolean exportAll;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.Map<java.lang.String, org.eclipse.jgit.lib.Repository> exports;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jgit/lib/Repository;>;
private final java.util.Collection<java.io.File> exportBase;
descriptor: Ljava/util/Collection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Collection<Ljava/io/File;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.eclipse.jgit.transport.resolver.FileResolver.exports:Ljava/util/Map;
2: aload 0
new java.util.concurrent.CopyOnWriteArrayList
dup
invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
putfield org.eclipse.jgit.transport.resolver.FileResolver.exportBase:Ljava/util/Collection;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jgit/transport/resolver/FileResolver<TC;>;
public void <init>(java.io.File, boolean);
descriptor: (Ljava/io/File;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.eclipse.jgit.transport.resolver.FileResolver.<init>:()V
1: aload 0
aload 1
invokevirtual org.eclipse.jgit.transport.resolver.FileResolver.exportDirectory:(Ljava/io/File;)V
2: aload 0
iload 2
invokevirtual org.eclipse.jgit.transport.resolver.FileResolver.setExportAll:(Z)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jgit/transport/resolver/FileResolver<TC;>;
0 4 1 basePath Ljava/io/File;
0 4 2 exportAll Z
MethodParameters:
Name Flags
basePath
exportAll
public org.eclipse.jgit.lib.Repository open(C, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Lorg/eclipse/jgit/lib/Repository;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic org.eclipse.jgit.transport.resolver.FileResolver.isUnreasonableName:(Ljava/lang/String;)Z
ifeq 2
1: new org.eclipse.jgit.errors.RepositoryNotFoundException
dup
aload 2
invokespecial org.eclipse.jgit.errors.RepositoryNotFoundException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.transport.resolver.FileResolver.exports:Ljava/util/Map;
aload 2
invokestatic org.eclipse.jgit.transport.resolver.FileResolver.nameWithDotGit:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.Repository
astore 3
start local 3 3: aload 3
ifnull 6
4: aload 3
invokevirtual org.eclipse.jgit.lib.Repository.incrementOpen:()V
5: aload 3
areturn
6: StackMap locals: org.eclipse.jgit.lib.Repository
StackMap stack:
aload 0
getfield org.eclipse.jgit.transport.resolver.FileResolver.exportBase:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 26
StackMap locals: org.eclipse.jgit.transport.resolver.FileResolver java.lang.Object java.lang.String org.eclipse.jgit.lib.Repository top java.util.Iterator
StackMap stack:
7: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.File
astore 4
start local 4 8: new java.io.File
dup
aload 4
aload 2
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
getstatic org.eclipse.jgit.util.FS.DETECTED:Lorg/eclipse/jgit/util/FS;
invokestatic org.eclipse.jgit.lib.RepositoryCache$FileKey.resolve:(Ljava/io/File;Lorg/eclipse/jgit/util/FS;)Ljava/io/File;
astore 6
start local 6 9: aload 6
ifnonnull 11
10: goto 26
11: StackMap locals: org.eclipse.jgit.transport.resolver.FileResolver java.lang.Object java.lang.String org.eclipse.jgit.lib.Repository java.io.File java.util.Iterator java.io.File
StackMap stack:
aload 6
getstatic org.eclipse.jgit.util.FS.DETECTED:Lorg/eclipse/jgit/util/FS;
invokestatic org.eclipse.jgit.lib.RepositoryCache$FileKey.exact:(Ljava/io/File;Lorg/eclipse/jgit/util/FS;)Lorg/eclipse/jgit/lib/RepositoryCache$FileKey;
astore 7
start local 7 12: aload 7
iconst_1
invokestatic org.eclipse.jgit.lib.RepositoryCache.open:(Lorg/eclipse/jgit/lib/RepositoryCache$Key;Z)Lorg/eclipse/jgit/lib/Repository;
astore 3
end local 7 13: goto 16
StackMap locals:
StackMap stack: java.io.IOException
14: astore 7
start local 7 15: new org.eclipse.jgit.errors.RepositoryNotFoundException
dup
aload 2
aload 7
invokespecial org.eclipse.jgit.errors.RepositoryNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 16: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual org.eclipse.jgit.transport.resolver.FileResolver.isExportOk:(Ljava/lang/Object;Ljava/lang/String;Lorg/eclipse/jgit/lib/Repository;)Z
ifeq 19
17: aload 3
18: areturn
19: StackMap locals:
StackMap stack:
new org.eclipse.jgit.transport.resolver.ServiceNotEnabledException
dup
invokespecial org.eclipse.jgit.transport.resolver.ServiceNotEnabledException.<init>:()V
athrow
20: StackMap locals:
StackMap stack: java.lang.Exception
astore 7
start local 7 21: aload 3
invokevirtual org.eclipse.jgit.lib.Repository.close:()V
22: new org.eclipse.jgit.errors.RepositoryNotFoundException
dup
aload 2
aload 7
invokespecial org.eclipse.jgit.errors.RepositoryNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 23: StackMap locals:
StackMap stack: org.eclipse.jgit.transport.resolver.ServiceNotEnabledException
astore 7
start local 7 24: aload 3
invokevirtual org.eclipse.jgit.lib.Repository.close:()V
25: aload 7
athrow
end local 7 end local 6 end local 4 26: StackMap locals: org.eclipse.jgit.transport.resolver.FileResolver java.lang.Object java.lang.String org.eclipse.jgit.lib.Repository top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
27: aload 0
getfield org.eclipse.jgit.transport.resolver.FileResolver.exportBase:Ljava/util/Collection;
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmpne 32
28: new java.io.File
dup
aload 0
getfield org.eclipse.jgit.transport.resolver.FileResolver.exportBase:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.File
aload 2
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 4
start local 4 29: new org.eclipse.jgit.errors.RepositoryNotFoundException
dup
aload 2
30: new org.eclipse.jgit.errors.RepositoryNotFoundException
dup
aload 4
invokespecial org.eclipse.jgit.errors.RepositoryNotFoundException.<init>:(Ljava/io/File;)V
31: invokespecial org.eclipse.jgit.errors.RepositoryNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 32: StackMap locals: org.eclipse.jgit.transport.resolver.FileResolver java.lang.Object java.lang.String org.eclipse.jgit.lib.Repository
StackMap stack:
new org.eclipse.jgit.errors.RepositoryNotFoundException
dup
aload 2
invokespecial org.eclipse.jgit.errors.RepositoryNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/eclipse/jgit/transport/resolver/FileResolver<TC;>;
0 33 1 req TC;
0 33 2 name Ljava/lang/String;
3 33 3 db Lorg/eclipse/jgit/lib/Repository;
8 26 4 base Ljava/io/File;
9 26 6 dir Ljava/io/File;
12 13 7 key Lorg/eclipse/jgit/lib/RepositoryCache$FileKey;
15 16 7 e Ljava/io/IOException;
21 23 7 e Ljava/lang/Exception;
24 26 7 e Lorg/eclipse/jgit/transport/resolver/ServiceNotEnabledException;
29 32 4 dir Ljava/io/File;
Exception table:
from to target type
11 13 14 Class java.io.IOException
16 18 20 Class java.lang.RuntimeException
19 20 20 Class java.lang.RuntimeException
16 18 20 Class java.io.IOException
19 20 20 Class java.io.IOException
16 18 23 Class org.eclipse.jgit.transport.resolver.ServiceNotEnabledException
19 20 23 Class org.eclipse.jgit.transport.resolver.ServiceNotEnabledException
Exceptions:
throws org.eclipse.jgit.errors.RepositoryNotFoundException, org.eclipse.jgit.transport.resolver.ServiceNotEnabledException
Signature: (TC;Ljava/lang/String;)Lorg/eclipse/jgit/lib/Repository;
MethodParameters:
Name Flags
req
name
public boolean isExportAll();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.transport.resolver.FileResolver.exportAll:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/transport/resolver/FileResolver<TC;>;
public void setExportAll(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.eclipse.jgit.transport.resolver.FileResolver.exportAll:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/transport/resolver/FileResolver<TC;>;
0 2 1 export Z
MethodParameters:
Name Flags
export
public void exportRepository(java.lang.String, org.eclipse.jgit.lib.Repository);
descriptor: (Ljava/lang/String;Lorg/eclipse/jgit/lib/Repository;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jgit.transport.resolver.FileResolver.exports:Ljava/util/Map;
aload 1
invokestatic org.eclipse.jgit.transport.resolver.FileResolver.nameWithDotGit:(Ljava/lang/String;)Ljava/lang/String;
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/transport/resolver/FileResolver<TC;>;
0 2 1 name Ljava/lang/String;
0 2 2 db Lorg/eclipse/jgit/lib/Repository;
MethodParameters:
Name Flags
name
db
public void exportDirectory(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jgit.transport.resolver.FileResolver.exportBase:Ljava/util/Collection;
aload 1
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/transport/resolver/FileResolver<TC;>;
0 2 1 dir Ljava/io/File;
MethodParameters:
Name Flags
dir
protected boolean isExportOk(C, java.lang.String, org.eclipse.jgit.lib.Repository);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/eclipse/jgit/lib/Repository;)Z
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
invokevirtual org.eclipse.jgit.transport.resolver.FileResolver.isExportAll:()Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.eclipse.jgit.lib.Repository.getDirectory:()Ljava/io/File;
ifnull 4
3: new java.io.File
dup
aload 3
invokevirtual org.eclipse.jgit.lib.Repository.getDirectory:()Ljava/io/File;
ldc "git-daemon-export-ok"
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
invokevirtual java.io.File.exists:()Z
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jgit/transport/resolver/FileResolver<TC;>;
0 5 1 req TC;
0 5 2 repositoryName Ljava/lang/String;
0 5 3 db Lorg/eclipse/jgit/lib/Repository;
Exceptions:
throws java.io.IOException
Signature: (TC;Ljava/lang/String;Lorg/eclipse/jgit/lib/Repository;)Z
MethodParameters:
Name Flags
req
repositoryName
db
private static java.lang.String nameWithDotGit(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc ".git"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".git"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private static boolean isUnreasonableName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
bipush 92
invokevirtual java.lang.String.indexOf:(I)I
iflt 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.isAbsolute:()Z
ifeq 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 0
ldc "../"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 8
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 0
ldc "/../"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 10
9: iconst_1
ireturn
10: StackMap locals:
StackMap stack:
aload 0
ldc "/./"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 12
11: iconst_1
ireturn
12: StackMap locals:
StackMap stack:
aload 0
ldc "//"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 14
13: iconst_1
ireturn
14: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
}
Signature: <C:Ljava/lang/Object;>Ljava/lang/Object;Lorg/eclipse/jgit/transport/resolver/RepositoryResolver<TC;>;
SourceFile: "FileResolver.java"
InnerClasses:
public FileKey = org.eclipse.jgit.lib.RepositoryCache$FileKey of org.eclipse.jgit.lib.RepositoryCache
public abstract Key = org.eclipse.jgit.lib.RepositoryCache$Key of org.eclipse.jgit.lib.RepositoryCache