public class com.netflix.config.DynamicPropertyUpdater
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.netflix.config.DynamicPropertyUpdater
super_class: java.lang.Object
{
private static org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/netflix/config/DynamicPropertyUpdater;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic com.netflix.config.DynamicPropertyUpdater.logger:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/netflix/config/DynamicPropertyUpdater;
public void updateProperties(com.netflix.config.WatchedUpdateResult, org.apache.commons.configuration.Configuration, boolean);
descriptor: (Lcom/netflix/config/WatchedUpdateResult;Lorg/apache/commons/configuration/Configuration;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 1
invokevirtual com.netflix.config.WatchedUpdateResult.hasChanges:()Z
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
getstatic com.netflix.config.DynamicPropertyUpdater.logger:Lorg/slf4j/Logger;
ldc "incremental result? [{}]"
aload 1
invokevirtual com.netflix.config.WatchedUpdateResult.isIncremental:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
3: getstatic com.netflix.config.DynamicPropertyUpdater.logger:Lorg/slf4j/Logger;
ldc "ignored deletes from source? [{}]"
iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
4: aload 1
invokevirtual com.netflix.config.WatchedUpdateResult.isIncremental:()Z
ifne 24
5: aload 1
invokevirtual com.netflix.config.WatchedUpdateResult.getComplete:()Ljava/util/Map;
astore 4
start local 4 6: aload 4
ifnonnull 8
7: return
8: StackMap locals: java.util.Map
StackMap stack:
aload 4
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 11
StackMap locals: com.netflix.config.DynamicPropertyUpdater com.netflix.config.WatchedUpdateResult org.apache.commons.configuration.Configuration int java.util.Map top java.util.Iterator
StackMap stack:
9: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 10: aload 0
aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
aload 2
invokevirtual com.netflix.config.DynamicPropertyUpdater.addOrChangeProperty:(Ljava/lang/String;Ljava/lang/Object;Lorg/apache/commons/configuration/Configuration;)V
end local 5 11: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
12: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 5
start local 5 13: aload 2
invokeinterface org.apache.commons.configuration.Configuration.getKeys:()Ljava/util/Iterator;
astore 6
start local 6 14: goto 16
15: StackMap locals: com.netflix.config.DynamicPropertyUpdater com.netflix.config.WatchedUpdateResult org.apache.commons.configuration.Configuration int java.util.Map java.util.Set java.util.Iterator
StackMap stack:
aload 5
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
16: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
end local 6 17: iload 3
ifne 43
18: aload 5
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 22
StackMap locals: com.netflix.config.DynamicPropertyUpdater com.netflix.config.WatchedUpdateResult org.apache.commons.configuration.Configuration int java.util.Map java.util.Set top java.util.Iterator
StackMap stack:
19: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 20: aload 4
aload 6
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 22
21: aload 0
aload 6
aload 2
invokevirtual com.netflix.config.DynamicPropertyUpdater.deleteProperty:(Ljava/lang/String;Lorg/apache/commons/configuration/Configuration;)V
end local 6 22: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
end local 5 end local 4 23: goto 43
24: StackMap locals: com.netflix.config.DynamicPropertyUpdater com.netflix.config.WatchedUpdateResult org.apache.commons.configuration.Configuration int
StackMap stack:
aload 1
invokevirtual com.netflix.config.WatchedUpdateResult.getAdded:()Ljava/util/Map;
astore 4
start local 4 25: aload 4
ifnull 30
26: aload 4
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 29
StackMap locals: com.netflix.config.DynamicPropertyUpdater com.netflix.config.WatchedUpdateResult org.apache.commons.configuration.Configuration int java.util.Map top java.util.Iterator
StackMap stack:
27: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 28: aload 0
aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
aload 2
invokevirtual com.netflix.config.DynamicPropertyUpdater.addOrChangeProperty:(Ljava/lang/String;Ljava/lang/Object;Lorg/apache/commons/configuration/Configuration;)V
end local 5 29: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
30: StackMap locals: com.netflix.config.DynamicPropertyUpdater com.netflix.config.WatchedUpdateResult org.apache.commons.configuration.Configuration int java.util.Map
StackMap stack:
aload 1
invokevirtual com.netflix.config.WatchedUpdateResult.getChanged:()Ljava/util/Map;
astore 4
31: aload 4
ifnull 36
32: aload 4
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 35
StackMap locals: com.netflix.config.DynamicPropertyUpdater com.netflix.config.WatchedUpdateResult org.apache.commons.configuration.Configuration int java.util.Map top java.util.Iterator
StackMap stack:
33: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 34: aload 0
aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
aload 2
invokevirtual com.netflix.config.DynamicPropertyUpdater.addOrChangeProperty:(Ljava/lang/String;Ljava/lang/Object;Lorg/apache/commons/configuration/Configuration;)V
end local 5 35: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
36: StackMap locals: com.netflix.config.DynamicPropertyUpdater com.netflix.config.WatchedUpdateResult org.apache.commons.configuration.Configuration int java.util.Map
StackMap stack:
iload 3
ifne 43
37: aload 1
invokevirtual com.netflix.config.WatchedUpdateResult.getDeleted:()Ljava/util/Map;
astore 4
38: aload 4
ifnull 43
39: aload 4
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 42
StackMap locals: com.netflix.config.DynamicPropertyUpdater com.netflix.config.WatchedUpdateResult org.apache.commons.configuration.Configuration int java.util.Map top java.util.Iterator
StackMap stack:
40: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 41: aload 0
aload 5
aload 2
invokevirtual com.netflix.config.DynamicPropertyUpdater.deleteProperty:(Ljava/lang/String;Lorg/apache/commons/configuration/Configuration;)V
end local 5 42: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
end local 4 43: StackMap locals: com.netflix.config.DynamicPropertyUpdater com.netflix.config.WatchedUpdateResult org.apache.commons.configuration.Configuration int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lcom/netflix/config/DynamicPropertyUpdater;
0 44 1 result Lcom/netflix/config/WatchedUpdateResult;
0 44 2 config Lorg/apache/commons/configuration/Configuration;
0 44 3 ignoreDeletesFromSource Z
6 23 4 props Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
10 11 5 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;
13 23 5 existingKeys Ljava/util/Set<Ljava/lang/String;>;
14 17 6 i Ljava/util/Iterator<Ljava/lang/String;>;
20 22 6 key Ljava/lang/String;
25 43 4 props Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
28 29 5 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;
34 35 5 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;
41 42 5 name Ljava/lang/String;
MethodParameters:
Name Flags
result final
config final
ignoreDeletesFromSource final
void addOrChangeProperty(java.lang.String, java.lang.Object, org.apache.commons.configuration.Configuration);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Lorg/apache/commons/configuration/Configuration;)V
flags: (0x0000)
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 1
invokeinterface org.apache.commons.configuration.Configuration.containsKey:(Ljava/lang/String;)Z
ifne 4
1: getstatic com.netflix.config.DynamicPropertyUpdater.logger:Lorg/slf4j/Logger;
ldc "adding property key [{}], value [{}]"
aload 1
aload 2
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 3
aload 1
aload 2
invokeinterface org.apache.commons.configuration.Configuration.addProperty:(Ljava/lang/String;Ljava/lang/Object;)V
3: goto 26
4: StackMap locals:
StackMap stack:
aload 3
aload 1
invokeinterface org.apache.commons.configuration.Configuration.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
astore 4
start local 4 5: aload 2
ifnull 20
6: aload 4
instanceof java.util.concurrent.CopyOnWriteArrayList
ifeq 15
invokestatic org.apache.commons.configuration.AbstractConfiguration.getDefaultListDelimiter:()C
ifeq 15
7: new java.util.concurrent.CopyOnWriteArrayList
dup
invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
8: astore 5
start local 5 9: invokestatic org.apache.commons.configuration.AbstractConfiguration.getDefaultListDelimiter:()C
invokestatic com.google.common.base.Splitter.on:(C)Lcom/google/common/base/Splitter;
invokevirtual com.google.common.base.Splitter.omitEmptyStrings:()Lcom/google/common/base/Splitter;
invokevirtual com.google.common.base.Splitter.trimResults:()Lcom/google/common/base/Splitter;
aload 2
checkcast java.lang.String
invokevirtual com.google.common.base.Splitter.split:(Ljava/lang/CharSequence;)Ljava/lang/Iterable;
astore 6
start local 6 10: aload 6
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 13
StackMap locals: com.netflix.config.DynamicPropertyUpdater java.lang.String java.lang.Object org.apache.commons.configuration.Configuration java.lang.Object java.lang.Object java.lang.Iterable top java.util.Iterator
StackMap stack:
11: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 12: aload 5
checkcast java.util.concurrent.CopyOnWriteArrayList
aload 7
invokevirtual java.util.concurrent.CopyOnWriteArrayList.add:(Ljava/lang/Object;)Z
pop
end local 7 13: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 6 14: goto 16
end local 5 15: StackMap locals: com.netflix.config.DynamicPropertyUpdater java.lang.String java.lang.Object org.apache.commons.configuration.Configuration java.lang.Object
StackMap stack:
aload 2
astore 5
start local 5 16: StackMap locals: java.lang.Object
StackMap stack:
aload 5
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 26
17: getstatic com.netflix.config.DynamicPropertyUpdater.logger:Lorg/slf4j/Logger;
ldc "updating property key [{}], value [{}]"
aload 1
aload 2
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
18: aload 3
aload 1
aload 2
invokeinterface org.apache.commons.configuration.Configuration.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
end local 5 19: goto 26
StackMap locals:
StackMap stack:
20: aload 4
ifnull 26
21: getstatic com.netflix.config.DynamicPropertyUpdater.logger:Lorg/slf4j/Logger;
ldc "nulling out property key [{}]"
aload 1
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
22: aload 3
aload 1
aconst_null
invokeinterface org.apache.commons.configuration.Configuration.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
end local 4 23: goto 26
StackMap locals: com.netflix.config.DynamicPropertyUpdater java.lang.String java.lang.Object org.apache.commons.configuration.Configuration
StackMap stack: com.netflix.config.validation.ValidationException
24: astore 4
start local 4 25: getstatic com.netflix.config.DynamicPropertyUpdater.logger:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "Validation failed for property "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 26: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/netflix/config/DynamicPropertyUpdater;
0 27 1 name Ljava/lang/String;
0 27 2 newValue Ljava/lang/Object;
0 27 3 config Lorg/apache/commons/configuration/Configuration;
5 23 4 oldValue Ljava/lang/Object;
9 15 5 newValueArray Ljava/lang/Object;
16 19 5 newValueArray Ljava/lang/Object;
10 14 6 stringiterator Ljava/lang/Iterable<Ljava/lang/String;>;
12 13 7 s Ljava/lang/String;
25 26 4 e Lcom/netflix/config/validation/ValidationException;
Exception table:
from to target type
0 23 24 Class com.netflix.config.validation.ValidationException
MethodParameters:
Name Flags
name final
newValue final
config final
void deleteProperty(java.lang.String, org.apache.commons.configuration.Configuration);
descriptor: (Ljava/lang/String;Lorg/apache/commons/configuration/Configuration;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokeinterface org.apache.commons.configuration.Configuration.containsKey:(Ljava/lang/String;)Z
ifeq 3
1: getstatic com.netflix.config.DynamicPropertyUpdater.logger:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "deleting property key ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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.slf4j.Logger.debug:(Ljava/lang/String;)V
2: aload 2
aload 1
invokeinterface org.apache.commons.configuration.Configuration.clearProperty:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/netflix/config/DynamicPropertyUpdater;
0 4 1 key Ljava/lang/String;
0 4 2 config Lorg/apache/commons/configuration/Configuration;
MethodParameters:
Name Flags
key final
config final
}
SourceFile: "DynamicPropertyUpdater.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map