public class org.apache.commons.digester.ExtendedBaseRules extends org.apache.commons.digester.RulesBase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.digester.ExtendedBaseRules
super_class: org.apache.commons.digester.RulesBase
{
private int counter;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.Map<org.apache.commons.digester.Rule, java.lang.Integer> order;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Lorg/apache/commons/digester/Rule;Ljava/lang/Integer;>;
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.apache.commons.digester.RulesBase.<init>:()V
1: aload 0
iconst_0
putfield org.apache.commons.digester.ExtendedBaseRules.counter:I
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.apache.commons.digester.ExtendedBaseRules.order:Ljava/util/Map;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/commons/digester/ExtendedBaseRules;
public void add(java.lang.String, org.apache.commons.digester.Rule);
descriptor: (Ljava/lang/String;Lorg/apache/commons/digester/Rule;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.apache.commons.digester.RulesBase.add:(Ljava/lang/String;Lorg/apache/commons/digester/Rule;)V
1: aload 0
dup
getfield org.apache.commons.digester.ExtendedBaseRules.counter:I
iconst_1
iadd
putfield org.apache.commons.digester.ExtendedBaseRules.counter:I
2: aload 0
getfield org.apache.commons.digester.ExtendedBaseRules.order:Ljava/util/Map;
aload 2
aload 0
getfield org.apache.commons.digester.ExtendedBaseRules.counter:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/commons/digester/ExtendedBaseRules;
0 4 1 pattern Ljava/lang/String;
0 4 2 rule Lorg/apache/commons/digester/Rule;
MethodParameters:
Name Flags
pattern
rule
public java.util.List<org.apache.commons.digester.Rule> match(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=21, args_size=3
start local 0 start local 1 start local 2 0: ldc ""
astore 3
start local 3 1: aload 2
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 4
start local 4 2: iconst_1
istore 5
start local 5 3: iload 4
iconst_m1
if_icmpne 6
4: iconst_0
istore 5
5: goto 7
6: StackMap locals: java.lang.String int int
StackMap stack:
aload 2
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
7: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 0
getfield org.apache.commons.digester.ExtendedBaseRules.counter:I
invokespecial java.util.ArrayList.<init>:(I)V
astore 6
start local 6 8: aload 0
getfield org.apache.commons.digester.ExtendedBaseRules.cache:Ljava/util/HashMap;
ldc "!*"
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 7
start local 7 9: aload 7
ifnull 11
10: aload 6
aload 7
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
11: StackMap locals: java.util.List java.util.List
StackMap stack:
aload 0
getfield org.apache.commons.digester.ExtendedBaseRules.cache:Ljava/util/HashMap;
new java.lang.StringBuilder
dup
ldc "!"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 7
12: aload 7
ifnull 14
13: aload 6
aload 7
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
14: StackMap locals:
StackMap stack:
iconst_0
istore 8
start local 8 15: aload 0
getfield org.apache.commons.digester.ExtendedBaseRules.cache:Ljava/util/HashMap;
aload 2
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 9
start local 9 16: aload 9
ifnull 19
17: iconst_1
istore 8
18: goto 27
19: StackMap locals: int java.util.List
StackMap stack:
iload 5
ifeq 27
20: aload 0
getfield org.apache.commons.digester.ExtendedBaseRules.cache:Ljava/util/HashMap;
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 9
21: aload 9
ifnull 24
22: iconst_1
istore 8
23: goto 27
24: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.apache.commons.digester.ExtendedBaseRules.findExactAncesterMatch:(Ljava/lang/String;)Ljava/util/List;
astore 9
25: aload 9
ifnull 27
26: iconst_1
istore 8
27: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 28: aload 0
getfield org.apache.commons.digester.ExtendedBaseRules.cache:Ljava/util/HashMap;
invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 84
StackMap locals: org.apache.commons.digester.ExtendedBaseRules java.lang.String java.lang.String java.lang.String int int java.util.List java.util.List int java.util.List int top java.util.Iterator
StackMap stack:
29: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 11
start local 11 30: aload 11
ldc "!"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
istore 13
start local 13 31: iload 13
ifeq 33
32: aload 11
iconst_1
aload 11
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 11
33: StackMap locals: org.apache.commons.digester.ExtendedBaseRules java.lang.String java.lang.String java.lang.String int int java.util.List java.util.List int java.util.List int java.lang.String java.util.Iterator int
StackMap stack:
aload 11
ldc "*/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
istore 14
start local 14 34: aload 11
ldc "/*"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
istore 15
start local 15 35: iload 14
ifne 36
iload 13
ifeq 84
iload 15
ifeq 84
36: StackMap locals: int int
StackMap stack:
iconst_0
istore 16
start local 16 37: iconst_0
istore 17
start local 17 38: iconst_0
istore 18
start local 18 39: aload 11
ldc "/?"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
istore 19
start local 19 40: iload 19
ifeq 43
41: aload 0
aload 11
aload 2
aload 3
invokevirtual org.apache.commons.digester.ExtendedBaseRules.parentMatch:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
istore 16
42: goto 65
StackMap locals: org.apache.commons.digester.ExtendedBaseRules java.lang.String java.lang.String java.lang.String int int java.util.List java.util.List int java.util.List int java.lang.String java.util.Iterator int int int int int int int
StackMap stack:
43: iload 15
ifeq 64
44: iload 14
ifeq 53
45: aload 11
iconst_2
aload 11
invokevirtual java.lang.String.length:()I
iconst_2
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 20
start local 20 46: aload 2
aload 20
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 49
47: iconst_1
istore 18
48: goto 65
49: StackMap locals: java.lang.String
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
aload 20
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmple 50
iconst_1
goto 51
StackMap locals:
StackMap stack:
50: iconst_0
StackMap locals:
StackMap stack: int
51: istore 18
end local 20 52: goto 65
53: StackMap locals:
StackMap stack:
aload 11
iconst_0
aload 11
invokevirtual java.lang.String.length:()I
iconst_2
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 20
start local 20 54: aload 2
aload 20
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 62
55: aload 2
invokevirtual java.lang.String.length:()I
aload 20
invokevirtual java.lang.String.length:()I
if_icmpne 58
56: iconst_1
istore 18
57: goto 65
58: StackMap locals: java.lang.String
StackMap stack:
aload 2
aload 20
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpne 59
iconst_1
goto 60
StackMap locals:
StackMap stack:
59: iconst_0
StackMap locals:
StackMap stack: int
60: istore 18
61: goto 65
62: StackMap locals:
StackMap stack:
iconst_0
istore 18
end local 20 63: goto 65
64: StackMap locals:
StackMap stack:
aload 0
aload 11
aload 2
invokevirtual org.apache.commons.digester.ExtendedBaseRules.basicMatch:(Ljava/lang/String;Ljava/lang/String;)Z
istore 17
65: StackMap locals:
StackMap stack:
iload 16
ifne 66
iload 17
ifne 66
iload 18
ifeq 84
66: StackMap locals:
StackMap stack:
iload 13
ifeq 71
67: aload 0
getfield org.apache.commons.digester.ExtendedBaseRules.cache:Ljava/util/HashMap;
new java.lang.StringBuilder
dup
ldc "!"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 7
68: aload 7
ifnull 84
69: aload 6
aload 7
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
70: goto 84
71: StackMap locals:
StackMap stack:
iload 8
ifne 84
72: aload 11
invokevirtual java.lang.String.length:()I
istore 20
start local 20 73: iload 14
ifeq 75
74: iinc 20 -1
75: StackMap locals: int
StackMap stack:
iload 15
ifeq 78
76: iinc 20 -1
77: goto 80
StackMap locals:
StackMap stack:
78: iload 19
ifeq 80
79: iinc 20 -1
80: StackMap locals:
StackMap stack:
iload 20
iload 10
if_icmple 84
81: aload 0
getfield org.apache.commons.digester.ExtendedBaseRules.cache:Ljava/util/HashMap;
aload 11
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 9
82: aload 11
pop
83: iload 20
istore 10
end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 11 84: StackMap locals: org.apache.commons.digester.ExtendedBaseRules java.lang.String java.lang.String java.lang.String int int java.util.List java.util.List int java.util.List int top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
85: aload 9
ifnonnull 87
86: aload 0
getfield org.apache.commons.digester.ExtendedBaseRules.cache:Ljava/util/HashMap;
ldc "*"
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 9
87: StackMap locals: org.apache.commons.digester.ExtendedBaseRules java.lang.String java.lang.String java.lang.String int int java.util.List java.util.List int java.util.List int
StackMap stack:
aload 9
ifnull 89
88: aload 6
aload 9
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
89: StackMap locals:
StackMap stack:
aload 1
ifnull 97
90: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
start local 11 91: goto 96
92: StackMap locals: java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.commons.digester.Rule
astore 12
start local 12 93: aload 12
invokevirtual org.apache.commons.digester.Rule.getNamespaceURI:()Ljava/lang/String;
astore 13
start local 13 94: aload 13
ifnull 96
aload 13
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 96
95: aload 11
invokeinterface java.util.Iterator.remove:()V
end local 13 end local 12 96: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 92
end local 11 97: StackMap locals:
StackMap stack:
aload 6
98: new org.apache.commons.digester.ExtendedBaseRules$1
dup
aload 0
invokespecial org.apache.commons.digester.ExtendedBaseRules$1.<init>:(Lorg/apache/commons/digester/ExtendedBaseRules;)V
99: invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
100: aload 6
areturn
end local 10 end local 9 end local 8 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 101 0 this Lorg/apache/commons/digester/ExtendedBaseRules;
0 101 1 namespace Ljava/lang/String;
0 101 2 pattern Ljava/lang/String;
1 101 3 parentPattern Ljava/lang/String;
2 101 4 lastIndex I
3 101 5 hasParent Z
8 101 6 universalList Ljava/util/List<Lorg/apache/commons/digester/Rule;>;
9 101 7 tempList Ljava/util/List<Lorg/apache/commons/digester/Rule;>;
15 101 8 ignoreBasicMatches Z
16 101 9 rulesList Ljava/util/List<Lorg/apache/commons/digester/Rule;>;
28 101 10 longKeyLength I
30 84 11 key Ljava/lang/String;
31 84 13 isUniversal Z
34 84 14 wildcardMatchStart Z
35 84 15 wildcardMatchEnd Z
37 84 16 parentMatched Z
38 84 17 basicMatched Z
39 84 18 ancesterMatched Z
40 84 19 parentMatchEnd Z
46 52 20 patternBody Ljava/lang/String;
54 63 20 bodyPattern Ljava/lang/String;
73 84 20 keyLength I
91 97 11 it Ljava/util/Iterator<Lorg/apache/commons/digester/Rule;>;
93 96 12 rule Lorg/apache/commons/digester/Rule;
94 96 13 ns_uri Ljava/lang/String;
Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/List<Lorg/apache/commons/digester/Rule;>;
MethodParameters:
Name Flags
namespace
pattern
private boolean parentMatch(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 1
iconst_1
aload 1
invokevirtual java.lang.String.length:()I
iconst_2
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/digester/ExtendedBaseRules;
0 1 1 key Ljava/lang/String;
0 1 2 pattern Ljava/lang/String;
0 1 3 parentPattern Ljava/lang/String;
MethodParameters:
Name Flags
key
pattern
parentPattern
private boolean basicMatch(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
1: aload 2
aload 1
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 3
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/commons/digester/ExtendedBaseRules;
0 4 1 key Ljava/lang/String;
0 4 2 pattern Ljava/lang/String;
MethodParameters:
Name Flags
key
pattern
private java.util.List<org.apache.commons.digester.Rule> findExactAncesterMatch(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokevirtual java.lang.String.length:()I
istore 3
start local 3 2: goto 8
3: StackMap locals: java.util.List int
StackMap stack:
aload 1
bipush 47
iload 3
invokevirtual java.lang.String.lastIndexOf:(II)I
istore 3
4: iload 3
ifle 8
5: aload 0
getfield org.apache.commons.digester.ExtendedBaseRules.cache:Ljava/util/HashMap;
new java.lang.StringBuilder
dup
aload 1
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/*"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 2
6: aload 2
ifnull 8
7: aload 2
areturn
8: StackMap locals:
StackMap stack:
iload 3
iinc 3 -1
ifgt 3
9: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/commons/digester/ExtendedBaseRules;
0 10 1 parentPattern Ljava/lang/String;
1 10 2 matchingRules Ljava/util/List<Lorg/apache/commons/digester/Rule;>;
2 10 3 lastIndex I
Signature: (Ljava/lang/String;)Ljava/util/List<Lorg/apache/commons/digester/Rule;>;
MethodParameters:
Name Flags
parentPattern
}
SourceFile: "ExtendedBaseRules.java"
NestMembers:
org.apache.commons.digester.ExtendedBaseRules$1
InnerClasses:
org.apache.commons.digester.ExtendedBaseRules$1