public class org.springframework.context.support.ReloadableResourceBundleMessageSource extends org.springframework.context.support.AbstractResourceBasedMessageSource implements org.springframework.context.ResourceLoaderAware
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.context.support.ReloadableResourceBundleMessageSource
super_class: org.springframework.context.support.AbstractResourceBasedMessageSource
{
private static final java.lang.String PROPERTIES_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ".properties"
private static final java.lang.String XML_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ".xml"
private java.util.Properties fileEncodings;
descriptor: Ljava/util/Properties;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private boolean concurrentRefresh;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.springframework.util.PropertiesPersister propertiesPersister;
descriptor: Lorg/springframework/util/PropertiesPersister;
flags: (0x0002) ACC_PRIVATE
private org.springframework.core.io.ResourceLoader resourceLoader;
descriptor: Lorg/springframework/core/io/ResourceLoader;
flags: (0x0002) ACC_PRIVATE
private final java.util.concurrent.ConcurrentMap<java.lang.String, java.util.Map<java.util.Locale, java.util.List<java.lang.String>>> cachedFilenames;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/util/Map<Ljava/util/Locale;Ljava/util/List<Ljava/lang/String;>;>;>;
private final java.util.concurrent.ConcurrentMap<java.lang.String, org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder> cachedProperties;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;>;
private final java.util.concurrent.ConcurrentMap<java.util.Locale, org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder> cachedMergedProperties;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/util/Locale;Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.context.support.AbstractResourceBasedMessageSource.<init>:()V
1: aload 0
iconst_1
putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.concurrentRefresh:Z
2: aload 0
new org.springframework.util.DefaultPropertiesPersister
dup
invokespecial org.springframework.util.DefaultPropertiesPersister.<init>:()V
putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.propertiesPersister:Lorg/springframework/util/PropertiesPersister;
3: aload 0
new org.springframework.core.io.DefaultResourceLoader
dup
invokespecial org.springframework.core.io.DefaultResourceLoader.<init>:()V
putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
4: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedFilenames:Ljava/util/concurrent/ConcurrentMap;
5: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedProperties:Ljava/util/concurrent/ConcurrentMap;
6: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedMergedProperties:Ljava/util/concurrent/ConcurrentMap;
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
public void setFileEncodings(java.util.Properties);
descriptor: (Ljava/util/Properties;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.fileEncodings:Ljava/util/Properties;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
0 2 1 fileEncodings Ljava/util/Properties;
MethodParameters:
Name Flags
fileEncodings
public void setConcurrentRefresh(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.springframework.context.support.ReloadableResourceBundleMessageSource.concurrentRefresh:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
0 2 1 concurrentRefresh Z
MethodParameters:
Name Flags
concurrentRefresh
public void setPropertiesPersister(org.springframework.util.PropertiesPersister);
descriptor: (Lorg/springframework/util/PropertiesPersister;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
1: aload 1
ifnull 2
aload 1
goto 3
StackMap locals:
StackMap stack: org.springframework.context.support.ReloadableResourceBundleMessageSource
2: new org.springframework.util.DefaultPropertiesPersister
dup
invokespecial org.springframework.util.DefaultPropertiesPersister.<init>:()V
3: StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource org.springframework.util.PropertiesPersister
StackMap stack: org.springframework.context.support.ReloadableResourceBundleMessageSource org.springframework.util.PropertiesPersister
putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.propertiesPersister:Lorg/springframework/util/PropertiesPersister;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
0 5 1 propertiesPersister Lorg/springframework/util/PropertiesPersister;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
propertiesPersister
public void setResourceLoader(org.springframework.core.io.ResourceLoader);
descriptor: (Lorg/springframework/core/io/ResourceLoader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ifnull 1
aload 1
goto 2
StackMap locals:
StackMap stack: org.springframework.context.support.ReloadableResourceBundleMessageSource
1: new org.springframework.core.io.DefaultResourceLoader
dup
invokespecial org.springframework.core.io.DefaultResourceLoader.<init>:()V
StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource org.springframework.core.io.ResourceLoader
StackMap stack: org.springframework.context.support.ReloadableResourceBundleMessageSource org.springframework.core.io.ResourceLoader
2: putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
0 4 1 resourceLoader Lorg/springframework/core/io/ResourceLoader;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
resourceLoader
protected java.lang.String resolveCodeWithoutArguments(java.lang.String, java.util.Locale);
descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getCacheMillis:()J
lconst_0
lcmp
ifge 5
1: aload 0
aload 2
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getMergedProperties:(Ljava/util/Locale;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
astore 3
start local 3 2: aload 3
aload 1
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 3: aload 4
ifnull 16
4: aload 4
areturn
end local 4 end local 3 5: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getBasenameSet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 15
StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale top java.util.Iterator
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 7: aload 0
aload 3
aload 2
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.calculateAllFilenames:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
astore 5
start local 5 8: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 14
StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale java.lang.String java.util.Iterator java.util.List top java.util.Iterator
StackMap stack:
9: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 10: aload 0
aload 6
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getProperties:(Ljava/lang/String;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
astore 8
start local 8 11: aload 8
aload 1
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 12: aload 9
ifnull 14
13: aload 9
areturn
end local 9 end local 8 end local 6 14: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 5 end local 3 15: StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
16: StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
0 17 1 code Ljava/lang/String;
0 17 2 locale Ljava/util/Locale;
2 5 3 propHolder Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
3 5 4 result Ljava/lang/String;
7 15 3 basename Ljava/lang/String;
8 15 5 filenames Ljava/util/List<Ljava/lang/String;>;
10 14 6 filename Ljava/lang/String;
11 14 8 propHolder Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
12 14 9 result Ljava/lang/String;
MethodParameters:
Name Flags
code
locale
protected java.text.MessageFormat resolveCode(java.lang.String, java.util.Locale);
descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/text/MessageFormat;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getCacheMillis:()J
lconst_0
lcmp
ifge 5
1: aload 0
aload 2
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getMergedProperties:(Ljava/util/Locale;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
astore 3
start local 3 2: aload 3
aload 1
aload 2
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getMessageFormat:(Ljava/lang/String;Ljava/util/Locale;)Ljava/text/MessageFormat;
astore 4
start local 4 3: aload 4
ifnull 16
4: aload 4
areturn
end local 4 end local 3 5: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getBasenameSet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 15
StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale top java.util.Iterator
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 7: aload 0
aload 3
aload 2
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.calculateAllFilenames:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
astore 5
start local 5 8: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 14
StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale java.lang.String java.util.Iterator java.util.List top java.util.Iterator
StackMap stack:
9: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 10: aload 0
aload 6
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getProperties:(Ljava/lang/String;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
astore 8
start local 8 11: aload 8
aload 1
aload 2
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getMessageFormat:(Ljava/lang/String;Ljava/util/Locale;)Ljava/text/MessageFormat;
astore 9
start local 9 12: aload 9
ifnull 14
13: aload 9
areturn
end local 9 end local 8 end local 6 14: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 5 end local 3 15: StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
16: StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
0 17 1 code Ljava/lang/String;
0 17 2 locale Ljava/util/Locale;
2 5 3 propHolder Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
3 5 4 result Ljava/text/MessageFormat;
7 15 3 basename Ljava/lang/String;
8 15 5 filenames Ljava/util/List<Ljava/lang/String;>;
10 14 6 filename Ljava/lang/String;
11 14 8 propHolder Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
12 14 9 result Ljava/text/MessageFormat;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
code
locale
protected org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder getMergedProperties(java.util.Locale);
descriptor: (Ljava/util/Locale;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=12, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedMergedProperties:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
StackMap stack:
aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.newProperties:()Ljava/util/Properties;
astore 3
start local 3 4: ldc -1
lstore 4
start local 4 5: aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getBasenameSet:()Ljava/util/Set;
invokestatic org.springframework.util.StringUtils.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
astore 6
start local 6 6: aload 6
arraylength
iconst_1
isub
istore 7
start local 7 7: goto 20
8: StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.util.Locale org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder java.util.Properties long java.lang.String[] int
StackMap stack:
aload 0
aload 6
iload 7
aaload
aload 1
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.calculateAllFilenames:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
astore 8
start local 8 9: aload 8
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 9
start local 9 10: goto 18
11: StackMap locals: java.util.List int
StackMap stack:
aload 8
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 12: aload 0
aload 10
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getProperties:(Ljava/lang/String;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
astore 11
start local 11 13: aload 11
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getProperties:()Ljava/util/Properties;
ifnull 17
14: aload 3
aload 11
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getProperties:()Ljava/util/Properties;
invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
15: aload 11
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getFileTimestamp:()J
lload 4
lcmp
ifle 17
16: aload 11
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getFileTimestamp:()J
lstore 4
end local 11 end local 10 17: StackMap locals:
StackMap stack:
iinc 9 -1
StackMap locals:
StackMap stack:
18: iload 9
ifge 11
end local 9 end local 8 19: iinc 7 -1
StackMap locals:
StackMap stack:
20: iload 7
ifge 8
end local 7 21: new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
dup
aload 0
aload 3
lload 4
invokespecial org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.<init>:(Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;Ljava/util/Properties;J)V
astore 2
22: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedMergedProperties:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 2
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
astore 7
start local 7 23: aload 7
ifnull 25
24: aload 7
astore 2
25: StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.util.Locale org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder java.util.Properties long java.lang.String[] org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
StackMap stack:
aload 2
areturn
end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
0 26 1 locale Ljava/util/Locale;
1 26 2 mergedHolder Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
4 26 3 mergedProps Ljava/util/Properties;
5 26 4 latestTimestamp J
6 26 6 basenames [Ljava/lang/String;
7 21 7 i I
9 19 8 filenames Ljava/util/List<Ljava/lang/String;>;
10 19 9 j I
12 17 10 filename Ljava/lang/String;
13 17 11 propHolder Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
23 26 7 existing Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
MethodParameters:
Name Flags
locale
protected java.util.List<java.lang.String> calculateAllFilenames(java.lang.String, java.util.Locale);
descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedFilenames:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 3
start local 3 1: aload 3
ifnull 5
2: aload 3
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 4
start local 4 3: aload 4
ifnull 5
4: aload 4
areturn
end local 4 5: StackMap locals: java.util.Map
StackMap stack:
new java.util.ArrayList
dup
bipush 7
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 6: aload 4
aload 0
aload 1
aload 2
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.calculateFilenamesForLocale:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
7: aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.isFallbackToSystemLocale:()Z
ifeq 14
aload 2
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
ifne 14
8: aload 0
aload 1
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.calculateFilenamesForLocale:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
astore 5
start local 5 9: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 13
StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale java.util.Map java.util.List java.util.List top java.util.Iterator
StackMap stack:
10: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 11: aload 4
aload 6
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 13
12: aload 4
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 13: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 5 14: StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale java.util.Map java.util.List
StackMap stack:
aload 4
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: aload 3
ifnonnull 20
16: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
astore 3
17: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedFilenames:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 3
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 5
start local 5 18: aload 5
ifnull 20
19: aload 5
astore 3
end local 5 20: StackMap locals:
StackMap stack:
aload 3
aload 2
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
0 22 1 basename Ljava/lang/String;
0 22 2 locale Ljava/util/Locale;
1 22 3 localeMap Ljava/util/Map<Ljava/util/Locale;Ljava/util/List<Ljava/lang/String;>;>;
3 5 4 filenames Ljava/util/List<Ljava/lang/String;>;
6 22 4 filenames Ljava/util/List<Ljava/lang/String;>;
9 14 5 fallbackFilenames Ljava/util/List<Ljava/lang/String;>;
11 13 6 fallbackFilename Ljava/lang/String;
18 20 5 existing Ljava/util/Map<Ljava/util/Locale;Ljava/util/List<Ljava/lang/String;>;>;
Signature: (Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
basename
locale
protected java.util.List<java.lang.String> calculateFilenamesForLocale(java.lang.String, java.util.Locale);
descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
iconst_3
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 1: aload 2
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
astore 4
start local 4 2: aload 2
invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
astore 5
start local 5 3: aload 2
invokevirtual java.util.Locale.getVariant:()Ljava/lang/String;
astore 6
start local 6 4: new java.lang.StringBuilder
dup
aload 1
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 7
start local 7 5: aload 7
bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: aload 4
invokevirtual java.lang.String.length:()I
ifle 9
7: aload 7
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 3
iconst_0
aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
9: StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale java.util.List java.lang.String java.lang.String java.lang.String java.lang.StringBuilder
StackMap stack:
aload 7
bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: aload 5
invokevirtual java.lang.String.length:()I
ifle 13
11: aload 7
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 3
iconst_0
aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
13: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.String.length:()I
ifle 16
aload 4
invokevirtual java.lang.String.length:()I
ifgt 14
aload 5
invokevirtual java.lang.String.length:()I
ifle 16
14: StackMap locals:
StackMap stack:
aload 7
bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: aload 3
iconst_0
aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
16: StackMap locals:
StackMap stack:
aload 3
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
0 17 1 basename Ljava/lang/String;
0 17 2 locale Ljava/util/Locale;
1 17 3 result Ljava/util/List<Ljava/lang/String;>;
2 17 4 language Ljava/lang/String;
3 17 5 country Ljava/lang/String;
4 17 6 variant Ljava/lang/String;
5 17 7 temp Ljava/lang/StringBuilder;
Signature: (Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
basename
locale
protected org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder getProperties(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedProperties:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
astore 2
start local 2 1: ldc -2
lstore 3
start local 3 2: aload 2
ifnull 6
3: aload 2
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getRefreshTimestamp:()J
lstore 3
4: lload 3
ldc -1
lcmp
ifeq 5
lload 3
invokestatic java.lang.System.currentTimeMillis:()J
aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getCacheMillis:()J
lsub
lcmp
ifle 10
5: StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder long
StackMap stack:
aload 2
areturn
6: StackMap locals:
StackMap stack:
new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
dup
aload 0
invokespecial org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.<init>:(Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;)V
astore 2
7: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedProperties:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 2
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
astore 5
start local 5 8: aload 5
ifnull 10
9: aload 5
astore 2
end local 5 10: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.concurrentRefresh:Z
ifeq 13
aload 2
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getRefreshTimestamp:()J
lconst_0
lcmp
iflt 13
11: aload 2
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.refreshLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.tryLock:()Z
ifne 14
12: aload 2
areturn
13: StackMap locals:
StackMap stack:
aload 2
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.refreshLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
14: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedProperties:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
astore 5
start local 5 15: aload 5
ifnull 19
aload 5
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getRefreshTimestamp:()J
lload 3
lcmp
ifle 19
16: aload 5
astore 7
17: aload 2
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.refreshLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
18: aload 7
areturn
19: StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.refreshProperties:(Ljava/lang/String;Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
astore 7
20: aload 2
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.refreshLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
21: aload 7
areturn
end local 5 22: StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder long
StackMap stack: java.lang.Throwable
astore 6
23: aload 2
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.refreshLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
24: aload 6
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
0 25 1 filename Ljava/lang/String;
1 25 2 propHolder Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
2 25 3 originalTimestamp J
8 10 5 existingHolder Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
15 22 5 existingHolder Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
Exception table:
from to target type
14 17 22 any
19 20 22 any
MethodParameters:
Name Flags
filename
protected org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder refreshProperties(java.lang.String, org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder);
descriptor: (Ljava/lang/String;Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getCacheMillis:()J
lconst_0
lcmp
ifge 1
ldc -1
goto 2
StackMap locals:
StackMap stack:
1: invokestatic java.lang.System.currentTimeMillis:()J
StackMap locals:
StackMap stack: long
2: lstore 3
start local 3 3: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".properties"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.springframework.core.io.ResourceLoader.getResource:(Ljava/lang/String;)Lorg/springframework/core/io/Resource;
astore 5
start local 5 4: aload 5
invokeinterface org.springframework.core.io.Resource.exists:()Z
ifne 6
5: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".xml"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.springframework.core.io.ResourceLoader.getResource:(Ljava/lang/String;)Lorg/springframework/core/io/Resource;
astore 5
6: StackMap locals: long org.springframework.core.io.Resource
StackMap stack:
aload 5
invokeinterface org.springframework.core.io.Resource.exists:()Z
ifeq 28
7: ldc -1
lstore 6
start local 6 8: aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getCacheMillis:()J
lconst_0
lcmp
iflt 20
9: aload 5
invokeinterface org.springframework.core.io.Resource.lastModified:()J
lstore 6
10: aload 2
ifnull 20
aload 2
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getFileTimestamp:()J
lload 6
lcmp
ifne 20
11: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 13
12: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Re-caching properties for filename ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] - file hasn't been modified"
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: long
StackMap stack:
aload 2
lload 3
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.setRefreshTimestamp:(J)V
14: aload 2
15: areturn
16: StackMap locals:
StackMap stack: java.io.IOException
astore 8
start local 8 17: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 19
18: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " could not be resolved in the file system - assuming that it hasn't changed"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
19: StackMap locals: java.io.IOException
StackMap stack:
ldc -1
lstore 6
end local 8 20: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 1
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.loadProperties:(Lorg/springframework/core/io/Resource;Ljava/lang/String;)Ljava/util/Properties;
astore 8
start local 8 21: new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
dup
aload 0
aload 8
lload 6
invokespecial org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.<init>:(Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;Ljava/util/Properties;J)V
astore 2
end local 8 22: goto 31
23: StackMap locals:
StackMap stack: java.io.IOException
astore 8
start local 8 24: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
ifeq 26
25: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Could not parse properties file ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokeinterface org.springframework.core.io.Resource.getFilename:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
26: StackMap locals: java.io.IOException
StackMap stack:
new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
dup
aload 0
invokespecial org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.<init>:(Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;)V
astore 2
end local 8 end local 6 27: goto 31
28: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 30
29: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "No properties file found for ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] - neither plain properties nor XML"
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
30: StackMap locals:
StackMap stack:
new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
dup
aload 0
invokespecial org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.<init>:(Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;)V
astore 2
31: StackMap locals:
StackMap stack:
aload 2
lload 3
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.setRefreshTimestamp:(J)V
32: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedProperties:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 2
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
33: aload 2
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
0 34 1 filename Ljava/lang/String;
0 34 2 propHolder Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
3 34 3 refreshTimestamp J
4 34 5 resource Lorg/springframework/core/io/Resource;
8 27 6 fileTimestamp J
17 20 8 ex Ljava/io/IOException;
21 22 8 props Ljava/util/Properties;
24 27 8 ex Ljava/io/IOException;
Exception table:
from to target type
9 15 16 Class java.io.IOException
20 22 23 Class java.io.IOException
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
filename
propHolder
protected java.util.Properties loadProperties(org.springframework.core.io.Resource, java.lang.String);
descriptor: (Lorg/springframework/core/io/Resource;Ljava/lang/String;)Ljava/util/Properties;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.newProperties:()Ljava/util/Properties;
astore 3
start local 3 1: aconst_null
astore 4
aconst_null
astore 5
2: aload 1
invokeinterface org.springframework.core.io.Resource.getInputStream:()Ljava/io/InputStream;
astore 6
start local 6 3: aload 1
invokeinterface org.springframework.core.io.Resource.getFilename:()Ljava/lang/String;
astore 7
start local 7 4: aload 7
ifnull 9
aload 7
ldc ".xml"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 9
5: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 7
6: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Loading properties ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface org.springframework.core.io.Resource.getFilename:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
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
7: StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource org.springframework.core.io.Resource java.lang.String java.util.Properties java.lang.Throwable java.lang.Throwable java.io.InputStream java.lang.String
StackMap stack:
aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.propertiesPersister:Lorg/springframework/util/PropertiesPersister;
aload 3
aload 6
invokeinterface org.springframework.util.PropertiesPersister.loadFromXml:(Ljava/util/Properties;Ljava/io/InputStream;)V
8: goto 22
9: StackMap locals:
StackMap stack:
aconst_null
astore 8
start local 8 10: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.fileEncodings:Ljava/util/Properties;
ifnull 12
11: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.fileEncodings:Ljava/util/Properties;
aload 2
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 8
12: StackMap locals: java.lang.String
StackMap stack:
aload 8
ifnonnull 14
13: aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getDefaultEncoding:()Ljava/lang/String;
astore 8
14: StackMap locals:
StackMap stack:
aload 8
ifnull 19
15: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 17
16: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Loading properties ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface org.springframework.core.io.Resource.getFilename:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] with encoding '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
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
17: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.propertiesPersister:Lorg/springframework/util/PropertiesPersister;
aload 3
new java.io.InputStreamReader
dup
aload 6
aload 8
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
invokeinterface org.springframework.util.PropertiesPersister.load:(Ljava/util/Properties;Ljava/io/Reader;)V
18: goto 22
19: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 21
20: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Loading properties ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface org.springframework.core.io.Resource.getFilename:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
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
21: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.propertiesPersister:Lorg/springframework/util/PropertiesPersister;
aload 3
aload 6
invokeinterface org.springframework.util.PropertiesPersister.load:(Ljava/util/Properties;Ljava/io/InputStream;)V
end local 8 22: StackMap locals:
StackMap stack:
aload 3
23: aload 6
ifnull 24
aload 6
invokevirtual java.io.InputStream.close:()V
24: StackMap locals:
StackMap stack: java.util.Properties
areturn
end local 7 StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource org.springframework.core.io.Resource java.lang.String java.util.Properties java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
25: astore 4
26: aload 6
ifnull 27
aload 6
invokevirtual java.io.InputStream.close:()V
end local 6 StackMap locals:
StackMap stack:
27: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
28: astore 5
aload 4
ifnonnull 29
aload 5
astore 4
goto 30
StackMap locals:
StackMap stack:
29: aload 4
aload 5
if_acmpeq 30
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
30: aload 4
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
0 31 1 resource Lorg/springframework/core/io/Resource;
0 31 2 filename Ljava/lang/String;
1 31 3 props Ljava/util/Properties;
3 27 6 is Ljava/io/InputStream;
4 25 7 resourceFilename Ljava/lang/String;
10 22 8 encoding Ljava/lang/String;
Exception table:
from to target type
3 23 25 any
2 24 28 any
25 28 28 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
resource
filename
protected java.util.Properties newProperties();
descriptor: ()Ljava/util/Properties;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
public void clearCache();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
ldc "Clearing entire resource bundle cache"
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
1: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedProperties:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
2: aload 0
getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedMergedProperties:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
public void clearCacheIncludingAncestors();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.clearCache:()V
1: aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getParentMessageSource:()Lorg/springframework/context/MessageSource;
instanceof org.springframework.context.support.ReloadableResourceBundleMessageSource
ifeq 3
2: aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getParentMessageSource:()Lorg/springframework/context/MessageSource;
checkcast org.springframework.context.support.ReloadableResourceBundleMessageSource
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.clearCacheIncludingAncestors:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": basenames="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getBasenameSet:()Ljava/util/Set;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
}
SourceFile: "ReloadableResourceBundleMessageSource.java"
NestMembers:
org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
InnerClasses:
protected PropertiesHolder = org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder of org.springframework.context.support.ReloadableResourceBundleMessageSource