public final class org.springframework.context.index.CandidateComponentsIndexLoader
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.springframework.context.index.CandidateComponentsIndexLoader
super_class: java.lang.Object
{
public static final java.lang.String COMPONENTS_RESOURCE_LOCATION;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "META-INF/spring.components"
public static final java.lang.String IGNORE_INDEX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "spring.index.ignore"
private static final boolean shouldIgnoreIndex;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.concurrent.ConcurrentMap<java.lang.ClassLoader, org.springframework.context.index.CandidateComponentsIndex> cache;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/ClassLoader;Lorg/springframework/context/index/CandidateComponentsIndex;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "spring.index.ignore"
invokestatic org.springframework.core.SpringProperties.getFlag:(Ljava/lang/String;)Z
putstatic org.springframework.context.index.CandidateComponentsIndexLoader.shouldIgnoreIndex:Z
1: ldc Lorg/springframework/context/index/CandidateComponentsIndexLoader;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putstatic org.springframework.context.index.CandidateComponentsIndexLoader.logger:Lorg/apache/commons/logging/Log;
2: new org.springframework.util.ConcurrentReferenceHashMap
dup
invokespecial org.springframework.util.ConcurrentReferenceHashMap.<init>:()V
3: putstatic org.springframework.context.index.CandidateComponentsIndexLoader.cache:Ljava/util/concurrent/ConcurrentMap;
4: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/context/index/CandidateComponentsIndexLoader;
public static org.springframework.context.index.CandidateComponentsIndex loadIndex(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Lorg/springframework/context/index/CandidateComponentsIndex;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: aload 1
ifnonnull 3
2: ldc Lorg/springframework/context/index/CandidateComponentsIndexLoader;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 1
3: StackMap locals: java.lang.ClassLoader
StackMap stack:
getstatic org.springframework.context.index.CandidateComponentsIndexLoader.cache:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/springframework/context/index/CandidateComponentsIndexLoader.doLoadIndex(Ljava/lang/ClassLoader;)Lorg/springframework/context/index/CandidateComponentsIndex; (6)
(Ljava/lang/ClassLoader;)Lorg/springframework/context/index/CandidateComponentsIndex;
invokeinterface java.util.concurrent.ConcurrentMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast org.springframework.context.index.CandidateComponentsIndex
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 classLoader Ljava/lang/ClassLoader;
1 4 1 classLoaderToUse Ljava/lang/ClassLoader;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
classLoader
private static org.springframework.context.index.CandidateComponentsIndex doLoadIndex(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Lorg/springframework/context/index/CandidateComponentsIndex;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: getstatic org.springframework.context.index.CandidateComponentsIndexLoader.shouldIgnoreIndex:Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "META-INF/spring.components"
invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
astore 1
start local 1 3: aload 1
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 5
4: aconst_null
areturn
5: StackMap locals: java.util.Enumeration
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 6: goto 10
7: StackMap locals: java.util.List
StackMap stack:
aload 1
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.net.URL
astore 3
start local 3 8: new org.springframework.core.io.UrlResource
dup
aload 3
invokespecial org.springframework.core.io.UrlResource.<init>:(Ljava/net/URL;)V
invokestatic org.springframework.core.io.support.PropertiesLoaderUtils.loadProperties:(Lorg/springframework/core/io/Resource;)Ljava/util/Properties;
astore 4
start local 4 9: aload 2
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 3 10: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 7
11: getstatic org.springframework.context.index.CandidateComponentsIndexLoader.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 13
12: getstatic org.springframework.context.index.CandidateComponentsIndexLoader.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Loaded "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] index(es)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)I
java/util/Hashtable.size()I (5)
(Ljava/util/Properties;)I
invokeinterface java.util.stream.Stream.mapToInt:(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
invokeinterface java.util.stream.IntStream.sum:()I
istore 3
start local 3 14: iload 3
ifle 15
new org.springframework.context.index.CandidateComponentsIndex
dup
aload 2
invokespecial org.springframework.context.index.CandidateComponentsIndex.<init>:(Ljava/util/List;)V
goto 16
StackMap locals: int
StackMap stack:
15: aconst_null
StackMap locals:
StackMap stack: org.springframework.context.index.CandidateComponentsIndex
16: areturn
end local 3 end local 2 end local 1 17: StackMap locals: java.lang.ClassLoader
StackMap stack: java.io.IOException
astore 1
start local 1 18: new java.lang.IllegalStateException
dup
ldc "Unable to load indexes from location [META-INF/spring.components]"
19: aload 1
20: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 classLoader Ljava/lang/ClassLoader;
3 17 1 urls Ljava/util/Enumeration<Ljava/net/URL;>;
6 17 2 result Ljava/util/List<Ljava/util/Properties;>;
8 10 3 url Ljava/net/URL;
9 10 4 properties Ljava/util/Properties;
14 17 3 totalCount I
18 21 1 ex Ljava/io/IOException;
Exception table:
from to target type
2 4 17 Class java.io.IOException
5 16 17 Class java.io.IOException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
classLoader
}
SourceFile: "CandidateComponentsIndexLoader.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles