class sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler implements java.lang.reflect.InvocationHandler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler
super_class: java.lang.Object
{
private final javax.management.MBeanServerConnection conn;
descriptor: Ljavax/management/MBeanServerConnection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.Map<javax.management.ObjectName, sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap> cachedValues;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljavax/management/ObjectName;Lsun/tools/jconsole/ProxyClient$SnapshotInvocationHandler$NameValueMap;>;
private java.util.Map<javax.management.ObjectName, java.util.Set<java.lang.String>> cachedNames;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/Set<Ljava/lang/String;>;>;
void <init>(javax.management.MBeanServerConnection);
descriptor: (Ljavax/management/MBeanServerConnection;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.newMap:()Ljava/util/Map;
putfield sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.cachedValues:Ljava/util/Map;
2: aload 0
invokestatic sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.newMap:()Ljava/util/Map;
putfield sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.cachedNames:Ljava/util/Map;
3: aload 0
aload 1
putfield sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.conn:Ljavax/management/MBeanServerConnection;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/tools/jconsole/ProxyClient$SnapshotInvocationHandler;
0 5 1 conn Ljavax/management/MBeanServerConnection;
MethodParameters:
Name Flags
conn
synchronized void flush();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.newMap:()Ljava/util/Map;
putfield sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.cachedValues:Ljava/util/Map;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/tools/jconsole/ProxyClient$SnapshotInvocationHandler;
public java.lang.Object invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
astore 4
start local 4 1: aload 4
ldc "getAttribute"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: aload 0
aload 3
iconst_0
aaload
checkcast javax.management.ObjectName
aload 3
iconst_1
aaload
checkcast java.lang.String
invokevirtual sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 4
ldc "getAttributes"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 0
aload 3
iconst_0
aaload
checkcast javax.management.ObjectName
aload 3
iconst_1
aaload
checkcast java.lang.String[]
invokevirtual sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.getAttributes:(Ljavax/management/ObjectName;[Ljava/lang/String;)Ljavax/management/AttributeList;
areturn
5: StackMap locals:
StackMap stack:
aload 4
ldc "flush"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 0
invokevirtual sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.flush:()V
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.conn:Ljavax/management/MBeanServerConnection;
aload 3
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
9: areturn
10: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 5
start local 5 11: aload 5
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
athrow
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 12 0 this Lsun/tools/jconsole/ProxyClient$SnapshotInvocationHandler;
0 12 1 proxy Ljava/lang/Object;
0 12 2 method Ljava/lang/reflect/Method;
0 12 3 args [Ljava/lang/Object;
1 12 4 methodName Ljava/lang/String;
11 12 5 e Ljava/lang/reflect/InvocationTargetException;
Exception table:
from to target type
8 9 10 Class java.lang.reflect.InvocationTargetException
Exceptions:
throws java.lang.Throwable
MethodParameters:
Name Flags
proxy
method
args
private java.lang.Object getAttribute(javax.management.ObjectName, java.lang.String);
descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
1: aload 1
aload 2
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
2: invokevirtual sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.getCachedAttributes:(Ljavax/management/ObjectName;Ljava/util/Set;)Lsun/tools/jconsole/ProxyClient$SnapshotInvocationHandler$NameValueMap;
astore 3
start local 3 3: aload 3
aload 2
invokevirtual sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 4: aload 4
ifnonnull 5
aload 3
aload 2
invokevirtual sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap.containsKey:(Ljava/lang/Object;)Z
ifeq 6
5: StackMap locals: sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap java.lang.Object
StackMap stack:
aload 4
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.conn:Ljavax/management/MBeanServerConnection;
aload 1
aload 2
invokeinterface javax.management.MBeanServerConnection.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/tools/jconsole/ProxyClient$SnapshotInvocationHandler;
0 7 1 objName Ljavax/management/ObjectName;
0 7 2 attrName Ljava/lang/String;
3 7 3 values Lsun/tools/jconsole/ProxyClient$SnapshotInvocationHandler$NameValueMap;
4 7 4 value Ljava/lang/Object;
Exceptions:
throws javax.management.MBeanException, javax.management.InstanceNotFoundException, javax.management.AttributeNotFoundException, javax.management.ReflectionException, java.io.IOException
MethodParameters:
Name Flags
objName
attrName
private javax.management.AttributeList getAttributes(javax.management.ObjectName, java.lang.String[]);
descriptor: (Ljavax/management/ObjectName;[Ljava/lang/String;)Ljavax/management/AttributeList;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
1: aload 1
2: new java.util.TreeSet
dup
aload 2
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.TreeSet.<init>:(Ljava/util/Collection;)V
3: invokevirtual sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.getCachedAttributes:(Ljavax/management/ObjectName;Ljava/util/Set;)Lsun/tools/jconsole/ProxyClient$SnapshotInvocationHandler$NameValueMap;
astore 3
start local 3 4: new javax.management.AttributeList
dup
invokespecial javax.management.AttributeList.<init>:()V
astore 4
start local 4 5: aload 2
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 11
StackMap locals: sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler javax.management.ObjectName java.lang.String[] sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap javax.management.AttributeList top int int java.lang.String[]
StackMap stack:
6: aload 8
iload 6
aaload
astore 5
start local 5 7: aload 3
aload 5
invokevirtual sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 9
start local 9 8: aload 9
ifnonnull 9
aload 3
aload 5
invokevirtual sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap.containsKey:(Ljava/lang/Object;)Z
ifeq 10
9: StackMap locals: sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler javax.management.ObjectName java.lang.String[] sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap javax.management.AttributeList java.lang.String int int java.lang.String[] java.lang.Object
StackMap stack:
aload 4
new javax.management.Attribute
dup
aload 5
aload 9
invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokevirtual javax.management.AttributeList.add:(Ljavax/management/Attribute;)V
end local 9 end local 5 10: StackMap locals: sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler javax.management.ObjectName java.lang.String[] sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap javax.management.AttributeList top int int java.lang.String[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
iload 7
if_icmplt 6
12: 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 13 0 this Lsun/tools/jconsole/ProxyClient$SnapshotInvocationHandler;
0 13 1 objName Ljavax/management/ObjectName;
0 13 2 attrNames [Ljava/lang/String;
4 13 3 values Lsun/tools/jconsole/ProxyClient$SnapshotInvocationHandler$NameValueMap;
5 13 4 list Ljavax/management/AttributeList;
7 10 5 attrName Ljava/lang/String;
8 10 9 value Ljava/lang/Object;
Exceptions:
throws javax.management.InstanceNotFoundException, javax.management.ReflectionException, java.io.IOException
MethodParameters:
Name Flags
objName
attrNames
private synchronized sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap getCachedAttributes(javax.management.ObjectName, java.util.Set<java.lang.String>);
descriptor: (Ljavax/management/ObjectName;Ljava/util/Set;)Lsun/tools/jconsole/ProxyClient$SnapshotInvocationHandler$NameValueMap;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.cachedValues:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap
astore 3
start local 3 1: aload 3
ifnull 3
aload 3
invokevirtual sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap.keySet:()Ljava/util/Set;
aload 2
invokeinterface java.util.Set.containsAll:(Ljava/util/Collection;)Z
ifeq 3
2: aload 3
areturn
3: StackMap locals: sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap
StackMap stack:
new java.util.TreeSet
dup
aload 2
invokespecial java.util.TreeSet.<init>:(Ljava/util/Collection;)V
astore 2
4: aload 0
getfield sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.cachedNames:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 4
start local 4 5: aload 4
ifnull 7
6: aload 2
aload 4
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
7: StackMap locals: java.util.Set
StackMap stack:
new sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap
dup
invokespecial sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap.<init>:()V
astore 3
8: aload 0
getfield sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.conn:Ljavax/management/MBeanServerConnection;
9: aload 1
10: aload 2
aload 2
invokeinterface java.util.Set.size:()I
anewarray java.lang.String
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
11: invokeinterface javax.management.MBeanServerConnection.getAttributes:(Ljavax/management/ObjectName;[Ljava/lang/String;)Ljavax/management/AttributeList;
astore 5
start local 5 12: aload 5
invokevirtual javax.management.AttributeList.asList:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 15
StackMap locals: sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler javax.management.ObjectName java.util.Set sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap java.util.Set javax.management.AttributeList top java.util.Iterator
StackMap stack:
13: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.management.Attribute
astore 6
start local 6 14: aload 3
aload 6
invokevirtual javax.management.Attribute.getName:()Ljava/lang/String;
aload 6
invokevirtual javax.management.Attribute.getValue:()Ljava/lang/Object;
invokevirtual sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 15: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: aload 0
getfield sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.cachedValues:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 0
getfield sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler.cachedNames:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 3
areturn
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 19 0 this Lsun/tools/jconsole/ProxyClient$SnapshotInvocationHandler;
0 19 1 objName Ljavax/management/ObjectName;
0 19 2 attrNames Ljava/util/Set<Ljava/lang/String;>;
1 19 3 values Lsun/tools/jconsole/ProxyClient$SnapshotInvocationHandler$NameValueMap;
5 19 4 oldNames Ljava/util/Set<Ljava/lang/String;>;
12 19 5 attrs Ljavax/management/AttributeList;
14 15 6 attr Ljavax/management/Attribute;
Exceptions:
throws javax.management.InstanceNotFoundException, javax.management.ReflectionException, java.io.IOException
Signature: (Ljavax/management/ObjectName;Ljava/util/Set<Ljava/lang/String;>;)Lsun/tools/jconsole/ProxyClient$SnapshotInvocationHandler$NameValueMap;
MethodParameters:
Name Flags
objName
attrNames
private static <K, V> java.util.Map<K, V> newMap();
descriptor: ()Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Ljava/util/Map<TK;TV;>;
}
SourceFile: "ProxyClient.java"
NestHost: sun.tools.jconsole.ProxyClient
InnerClasses:
SnapshotInvocationHandler = sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler of sun.tools.jconsole.ProxyClient
private final NameValueMap = sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap of sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler