public final class org.ehcache.impl.internal.statistics.StatsUtils
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.ehcache.impl.internal.statistics.StatsUtils
super_class: java.lang.Object
{
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
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/impl/internal/statistics/StatsUtils;
public static org.terracotta.context.query.Matcher<java.util.Map<java.lang.String, java.lang.Object>> hasTag(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/terracotta/context/query/Matcher;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: ldc "tags"
new org.ehcache.impl.internal.statistics.StatsUtils$1
dup
aload 0
invokespecial org.ehcache.impl.internal.statistics.StatsUtils$1.<init>:(Ljava/lang/String;)V
invokestatic org.terracotta.context.query.Matchers.hasAttribute:(Ljava/lang/String;Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 tag Ljava/lang/String;
Signature: (Ljava/lang/String;)Lorg/terracotta/context/query/Matcher<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;
MethodParameters:
Name Flags
tag final
public static org.terracotta.context.query.Matcher<java.util.Map<java.lang.String, java.lang.Object>> hasProperty(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/terracotta/context/query/Matcher;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: ldc "properties"
new org.ehcache.impl.internal.statistics.StatsUtils$2
dup
aload 0
aload 1
invokespecial org.ehcache.impl.internal.statistics.StatsUtils$2.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokestatic org.terracotta.context.query.Matchers.hasAttribute:(Ljava/lang/String;Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/String;
0 1 1 value Ljava/lang/String;
Signature: (Ljava/lang/String;Ljava/lang/String;)Lorg/terracotta/context/query/Matcher<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;
MethodParameters:
Name Flags
key final
value final
public static <T> java.util.Optional<T> findStatisticOnDescendants(, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Optional;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic org.terracotta.context.query.QueryBuilder.queryBuilder:()Lorg/terracotta/context/query/QueryBuilder;
1: invokevirtual org.terracotta.context.query.QueryBuilder.descendants:()Lorg/terracotta/context/query/QueryBuilder;
iconst_3
anewarray org.terracotta.context.query.Matcher
dup
iconst_0
2: ldc "name"
aload 3
invokestatic org.terracotta.context.query.Matchers.hasAttribute:(Ljava/lang/String;Ljava/lang/Object;)Lorg/terracotta/context/query/Matcher;
aastore
dup
iconst_1
3: ldc "discriminator"
aload 1
invokestatic org.ehcache.impl.internal.statistics.StatsUtils.hasProperty:(Ljava/lang/String;Ljava/lang/String;)Lorg/terracotta/context/query/Matcher;
aastore
dup
iconst_2
4: aload 2
invokestatic org.ehcache.impl.internal.statistics.StatsUtils.hasTag:(Ljava/lang/String;)Lorg/terracotta/context/query/Matcher;
aastore
5: invokestatic org.terracotta.context.query.Matchers.allOf:([Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.attributes:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.context:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokevirtual org.terracotta.context.query.QueryBuilder.filter:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/QueryBuilder;
6: invokevirtual org.terracotta.context.query.QueryBuilder.build:()Lorg/terracotta/context/query/Query;
aload 0
invokestatic org.terracotta.context.ContextManager.nodeFor:(Ljava/lang/Object;)Lorg/terracotta/context/TreeNode;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
invokeinterface org.terracotta.context.query.Query.execute:(Ljava/util/Set;)Ljava/util/Set;
7: astore 4
start local 4 8: aload 4
invokeinterface java.util.Set.size:()I
iconst_1
if_icmple 10
9: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "One stat expected for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " but found "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.util.Set
StackMap stack:
aload 4
invokeinterface java.util.Set.size:()I
iconst_1
if_icmpne 13
11: aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.terracotta.context.TreeNode
invokeinterface org.terracotta.context.TreeNode.getContext:()Lorg/terracotta/context/ContextElement;
invokeinterface org.terracotta.context.ContextElement.attributes:()Ljava/util/Map;
ldc "this"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 12: aload 5
invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 5 13: StackMap locals:
StackMap stack:
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 context Ljava/lang/Object;
0 14 1 discriminator Ljava/lang/String;
0 14 2 tag Ljava/lang/String;
0 14 3 statName Ljava/lang/String;
8 14 4 statResult Ljava/util/Set<Lorg/terracotta/context/TreeNode;>;
12 13 5 result TT;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Optional<TT;>;
MethodParameters:
Name Flags
context
discriminator
tag
statName
public static <T> java.util.Optional<T> findStatisticOnDescendants(, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Optional;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.terracotta.context.query.QueryBuilder.queryBuilder:()Lorg/terracotta/context/query/QueryBuilder;
1: invokevirtual org.terracotta.context.query.QueryBuilder.descendants:()Lorg/terracotta/context/query/QueryBuilder;
iconst_2
anewarray org.terracotta.context.query.Matcher
dup
iconst_0
2: ldc "name"
aload 2
invokestatic org.terracotta.context.query.Matchers.hasAttribute:(Ljava/lang/String;Ljava/lang/Object;)Lorg/terracotta/context/query/Matcher;
aastore
dup
iconst_1
3: aload 1
invokestatic org.ehcache.impl.internal.statistics.StatsUtils.hasTag:(Ljava/lang/String;)Lorg/terracotta/context/query/Matcher;
aastore
4: invokestatic org.terracotta.context.query.Matchers.allOf:([Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.attributes:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.context:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokevirtual org.terracotta.context.query.QueryBuilder.filter:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/QueryBuilder;
5: invokevirtual org.terracotta.context.query.QueryBuilder.build:()Lorg/terracotta/context/query/Query;
aload 0
invokestatic org.terracotta.context.ContextManager.nodeFor:(Ljava/lang/Object;)Lorg/terracotta/context/TreeNode;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
invokeinterface org.terracotta.context.query.Query.execute:(Ljava/util/Set;)Ljava/util/Set;
6: astore 3
start local 3 7: aload 3
invokeinterface java.util.Set.size:()I
iconst_1
if_icmple 9
8: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "One stat expected for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " but found "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.util.Set
StackMap stack:
aload 3
invokeinterface java.util.Set.size:()I
iconst_1
if_icmpne 12
10: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.terracotta.context.TreeNode
invokeinterface org.terracotta.context.TreeNode.getContext:()Lorg/terracotta/context/ContextElement;
invokeinterface org.terracotta.context.ContextElement.attributes:()Ljava/util/Map;
ldc "this"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 11: aload 4
invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 4 12: StackMap locals:
StackMap stack:
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 context Ljava/lang/Object;
0 13 1 tag Ljava/lang/String;
0 13 2 statName Ljava/lang/String;
7 13 3 statResult Ljava/util/Set<Lorg/terracotta/context/TreeNode;>;
11 12 4 result TT;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Optional<TT;>;
MethodParameters:
Name Flags
context
tag
statName
public static <T extends java.lang.Enum<T>> org.terracotta.statistics.OperationStatistic<T> findOperationStatisticOnChildren(, java.lang.Class<T>, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Lorg/terracotta/statistics/OperationStatistic;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.terracotta.context.query.QueryBuilder.queryBuilder:()Lorg/terracotta/context/query/QueryBuilder;
1: invokevirtual org.terracotta.context.query.QueryBuilder.children:()Lorg/terracotta/context/query/QueryBuilder;
iconst_2
anewarray org.terracotta.context.query.Matcher
dup
iconst_0
2: ldc "name"
aload 2
invokestatic org.terracotta.context.query.Matchers.hasAttribute:(Ljava/lang/String;Ljava/lang/Object;)Lorg/terracotta/context/query/Matcher;
aastore
dup
iconst_1
ldc "type"
aload 1
invokestatic org.terracotta.context.query.Matchers.hasAttribute:(Ljava/lang/String;Ljava/lang/Object;)Lorg/terracotta/context/query/Matcher;
aastore
invokestatic org.terracotta.context.query.Matchers.allOf:([Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.attributes:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.context:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokevirtual org.terracotta.context.query.QueryBuilder.filter:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/QueryBuilder;
3: invokevirtual org.terracotta.context.query.QueryBuilder.build:()Lorg/terracotta/context/query/Query;
4: astore 3
start local 3 5: aload 3
aload 0
invokestatic org.terracotta.context.ContextManager.nodeFor:(Ljava/lang/Object;)Lorg/terracotta/context/TreeNode;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
invokeinterface org.terracotta.context.query.Query.execute:(Ljava/util/Set;)Ljava/util/Set;
astore 4
start local 4 6: aload 4
invokeinterface java.util.Set.size:()I
iconst_1
if_icmple 8
7: new java.lang.RuntimeException
dup
ldc "result must be unique"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: org.terracotta.context.query.Query java.util.Set
StackMap stack:
aload 4
invokeinterface java.util.Set.isEmpty:()Z
ifeq 10
9: new java.lang.RuntimeException
dup
ldc "result must not be null"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.terracotta.context.TreeNode
invokeinterface org.terracotta.context.TreeNode.getContext:()Lorg/terracotta/context/ContextElement;
invokeinterface org.terracotta.context.ContextElement.attributes:()Ljava/util/Map;
ldc "this"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.terracotta.statistics.OperationStatistic
astore 5
start local 5 11: aload 5
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 12 0 context Ljava/lang/Object;
0 12 1 type Ljava/lang/Class<TT;>;
0 12 2 statName Ljava/lang/String;
5 12 3 query Lorg/terracotta/context/query/Query;
6 12 4 result Ljava/util/Set<Lorg/terracotta/context/TreeNode;>;
11 12 5 statistic Lorg/terracotta/statistics/OperationStatistic<TT;>;
Signature: <T:Ljava/lang/Enum<TT;>;>(Ljava/lang/Object;Ljava/lang/Class<TT;>;Ljava/lang/String;)Lorg/terracotta/statistics/OperationStatistic<TT;>;
MethodParameters:
Name Flags
context
type
statName
public static java.lang.String[] findTiers(org.ehcache.Cache<?, ?>);
descriptor: (Lorg/ehcache/Cache;)[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=9, args_size=1
start local 0 0: invokestatic org.terracotta.context.query.QueryBuilder.queryBuilder:()Lorg/terracotta/context/query/QueryBuilder;
1: invokevirtual org.terracotta.context.query.QueryBuilder.descendants:()Lorg/terracotta/context/query/QueryBuilder;
iconst_2
anewarray org.terracotta.context.query.Matcher
dup
iconst_0
2: ldc "name"
ldc "eviction"
invokestatic org.terracotta.context.query.Matchers.hasAttribute:(Ljava/lang/String;Ljava/lang/Object;)Lorg/terracotta/context/query/Matcher;
aastore
dup
iconst_1
ldc "type"
ldc Lorg/ehcache/core/statistics/StoreOperationOutcomes$EvictionOutcome;
invokestatic org.terracotta.context.query.Matchers.hasAttribute:(Ljava/lang/String;Ljava/lang/Object;)Lorg/terracotta/context/query/Matcher;
aastore
invokestatic org.terracotta.context.query.Matchers.allOf:([Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.attributes:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.context:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokevirtual org.terracotta.context.query.QueryBuilder.filter:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/QueryBuilder;
3: invokevirtual org.terracotta.context.query.QueryBuilder.build:()Lorg/terracotta/context/query/Query;
4: astore 1
start local 1 5: aload 1
aload 0
invokestatic org.terracotta.context.ContextManager.nodeFor:(Ljava/lang/Object;)Lorg/terracotta/context/TreeNode;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
invokeinterface org.terracotta.context.query.Query.execute:(Ljava/util/Set;)Ljava/util/Set;
astore 2
start local 2 6: aload 2
invokeinterface java.util.Set.isEmpty:()Z
ifeq 8
7: new java.lang.RuntimeException
dup
ldc "Failed to find tiers using the eviction observer, valid result Set sizes must 1 or more"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: org.terracotta.context.query.Query java.util.Set
StackMap stack:
aload 2
invokeinterface java.util.Set.size:()I
anewarray java.lang.String
astore 3
start local 3 9: iconst_0
istore 4
start local 4 10: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 17
StackMap locals: org.ehcache.Cache org.terracotta.context.query.Query java.util.Set java.lang.String[] int top java.util.Iterator
StackMap stack:
11: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.terracotta.context.TreeNode
astore 5
start local 5 12: aload 5
invokeinterface org.terracotta.context.TreeNode.getContext:()Lorg/terracotta/context/ContextElement;
invokeinterface org.terracotta.context.ContextElement.attributes:()Ljava/util/Map;
ldc "tags"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 7
start local 7 13: aload 7
invokeinterface java.util.Set.size:()I
iconst_1
if_icmpeq 15
14: new java.lang.RuntimeException
dup
ldc "We expect tiers to have only one tag"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: org.ehcache.Cache org.terracotta.context.query.Query java.util.Set java.lang.String[] int org.terracotta.context.TreeNode java.util.Iterator java.util.Set
StackMap stack:
aload 7
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 8
start local 8 16: aload 3
iload 4
iinc 4 1
aload 8
aastore
end local 8 end local 7 end local 5 17: StackMap locals: org.ehcache.Cache org.terracotta.context.query.Query java.util.Set java.lang.String[] int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
18: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 cache Lorg/ehcache/Cache<**>;
5 19 1 statQuery Lorg/terracotta/context/query/Query;
6 19 2 statResult Ljava/util/Set<Lorg/terracotta/context/TreeNode;>;
9 19 3 tiers [Ljava/lang/String;
10 19 4 i I
12 17 5 treeNode Lorg/terracotta/context/TreeNode;
13 17 7 tags Ljava/util/Set<*>;
16 17 8 storeType Ljava/lang/String;
Signature: (Lorg/ehcache/Cache<**>;)[Ljava/lang/String;
MethodParameters:
Name Flags
cache
public static java.lang.String findLowestTier(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
if_icmpne 2
1: aload 0
iconst_0
aaload
areturn
2: StackMap locals:
StackMap stack:
aload 0
arraylength
ifne 4
3: new java.lang.RuntimeException
dup
ldc "No existing tier"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
aaload
astore 1
start local 1 5: iconst_1
istore 2
start local 2 6: goto 10
7: StackMap locals: java.lang.String int
StackMap stack:
aload 0
iload 2
aaload
aload 1
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ifge 9
8: aload 0
iload 2
aaload
astore 1
9: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
aload 0
arraylength
if_icmplt 7
end local 2 11: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 tiers [Ljava/lang/String;
5 12 1 lowestTier Ljava/lang/String;
6 11 2 i I
MethodParameters:
Name Flags
tiers
public static <T extends java.lang.Enum<T>> boolean hasOperationStat(, java.lang.Class<T>, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.terracotta.context.query.QueryBuilder.queryBuilder:()Lorg/terracotta/context/query/QueryBuilder;
invokevirtual org.terracotta.context.query.QueryBuilder.descendants:()Lorg/terracotta/context/query/QueryBuilder;
1: ldc Lorg/terracotta/statistics/OperationStatistic;
invokestatic org.terracotta.context.query.Matchers.subclassOf:(Ljava/lang/Class;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.identifier:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.context:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokevirtual org.terracotta.context.query.QueryBuilder.filter:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/QueryBuilder;
iconst_2
anewarray org.terracotta.context.query.Matcher
dup
iconst_0
2: ldc "name"
aload 2
invokestatic org.terracotta.context.query.Matchers.hasAttribute:(Ljava/lang/String;Ljava/lang/Object;)Lorg/terracotta/context/query/Matcher;
aastore
dup
iconst_1
3: ldc "this"
new org.ehcache.impl.internal.statistics.StatsUtils$3
dup
aload 1
invokespecial org.ehcache.impl.internal.statistics.StatsUtils$3.<init>:(Ljava/lang/Class;)V
invokestatic org.terracotta.context.query.Matchers.hasAttribute:(Ljava/lang/String;Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
aastore
4: invokestatic org.terracotta.context.query.Matchers.allOf:([Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.attributes:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokestatic org.terracotta.context.query.Matchers.context:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/Matcher;
invokevirtual org.terracotta.context.query.QueryBuilder.filter:(Lorg/terracotta/context/query/Matcher;)Lorg/terracotta/context/query/QueryBuilder;
5: invokevirtual org.terracotta.context.query.QueryBuilder.build:()Lorg/terracotta/context/query/Query;
6: astore 3
start local 3 7: aload 3
aload 0
invokestatic org.terracotta.context.ContextManager.nodeFor:(Ljava/lang/Object;)Lorg/terracotta/context/TreeNode;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
invokeinterface org.terracotta.context.query.Query.execute:(Ljava/util/Set;)Ljava/util/Set;
astore 4
start local 4 8: aload 4
invokeinterface java.util.Set.size:()I
iconst_1
if_icmple 10
9: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "a zero or a single stat was expected; found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: org.terracotta.context.query.Query java.util.Set
StackMap stack:
aload 4
invokeinterface java.util.Set.isEmpty:()Z
ifeq 11
iconst_0
goto 12
StackMap locals:
StackMap stack:
11: iconst_1
StackMap locals:
StackMap stack: int
12: ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 rootNode Ljava/lang/Object;
0 13 1 statisticType Ljava/lang/Class<TT;>;
0 13 2 statName Ljava/lang/String;
7 13 3 q Lorg/terracotta/context/query/Query;
8 13 4 result Ljava/util/Set<Lorg/terracotta/context/TreeNode;>;
Signature: <T:Ljava/lang/Enum<TT;>;>(Ljava/lang/Object;Ljava/lang/Class<TT;>;Ljava/lang/String;)Z
MethodParameters:
Name Flags
rootNode
statisticType
statName
}
SourceFile: "StatsUtils.java"
NestMembers:
org.ehcache.impl.internal.statistics.StatsUtils$1 org.ehcache.impl.internal.statistics.StatsUtils$2 org.ehcache.impl.internal.statistics.StatsUtils$3
InnerClasses:
public final EvictionOutcome = org.ehcache.core.statistics.StoreOperationOutcomes$EvictionOutcome of org.ehcache.core.statistics.StoreOperationOutcomes
org.ehcache.impl.internal.statistics.StatsUtils$1
org.ehcache.impl.internal.statistics.StatsUtils$2
org.ehcache.impl.internal.statistics.StatsUtils$3