public class org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine implements org.apache.commons.configuration2.tree.ExpressionEngine
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine
super_class: java.lang.Object
{
static final java.lang.String PATH_DELIMITER;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "/"
static final java.lang.String ATTR_DELIMITER;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "@"
private static final java.lang.String NODE_PATH_DELIMITERS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "/@"
private static final java.lang.String SPACE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: " "
private static final int BUF_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private static final char START_INDEX;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 91
private static final char END_INDEX;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 93
private final org.apache.commons.configuration2.tree.xpath.XPathContextFactory contextFactory;
descriptor: Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.apache.commons.configuration2.tree.xpath.ConfigurationNodePointerFactory
dup
invokespecial org.apache.commons.configuration2.tree.xpath.ConfigurationNodePointerFactory.<init>:()V
invokestatic org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.addNodePointerFactory:(Lorg/apache/commons/jxpath/ri/model/NodePointerFactory;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new org.apache.commons.configuration2.tree.xpath.XPathContextFactory
dup
invokespecial org.apache.commons.configuration2.tree.xpath.XPathContextFactory.<init>:()V
invokespecial org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.<init>:(Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
void <init>(org.apache.commons.configuration2.tree.xpath.XPathContextFactory);
descriptor: (Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;)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
aload 1
putfield org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.contextFactory:Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
0 3 1 factory Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;
MethodParameters:
Name Flags
factory final
public <T> java.util.List<org.apache.commons.configuration2.tree.QueryResult<T>> query(T, java.lang.String, org.apache.commons.configuration2.tree.NodeHandler<T>);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokestatic org.apache.commons.lang3.StringUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 3
1: aload 1
invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.createResult:(Ljava/lang/Object;)Lorg/apache/commons/configuration2/tree/QueryResult;
astore 4
start local 4 2: aload 4
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
end local 4 3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.createContext:(Ljava/lang/Object;Lorg/apache/commons/configuration2/tree/NodeHandler;)Lorg/apache/commons/jxpath/JXPathContext;
astore 4
start local 4 4: aload 4
aload 2
invokevirtual org.apache.commons.jxpath.JXPathContext.selectNodes:(Ljava/lang/String;)Ljava/util/List;
astore 5
start local 5 5: aload 5
ifnonnull 7
6: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
astore 5
7: StackMap locals: org.apache.commons.jxpath.JXPathContext java.util.List
StackMap stack:
aload 5
invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.convertResults:(Ljava/util/List;)Ljava/util/List;
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 8 0 this Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
0 8 1 root TT;
0 8 2 key Ljava/lang/String;
0 8 3 handler Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;
2 3 4 result Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;
4 8 4 context Lorg/apache/commons/jxpath/JXPathContext;
5 8 5 results Ljava/util/List<*>;
Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;)Ljava/util/List<Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;>;
MethodParameters:
Name Flags
root final
key final
handler final
public <T> java.lang.String nodeKey(T, java.lang.String, org.apache.commons.configuration2.tree.NodeHandler<T>);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 2
1: ldc ""
areturn
2: StackMap locals:
StackMap stack:
aload 3
aload 1
invokeinterface org.apache.commons.configuration2.tree.NodeHandler.nodeName:(Ljava/lang/Object;)Ljava/lang/String;
ifnonnull 4
3: aload 2
areturn
4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokevirtual java.lang.String.length:()I
5: aload 3
aload 1
invokeinterface org.apache.commons.configuration2.tree.NodeHandler.nodeName:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iadd
6: ldc "/"
invokevirtual java.lang.String.length:()I
iadd
7: invokespecial java.lang.StringBuilder.<init>:(I)V
8: astore 4
start local 4 9: aload 2
invokevirtual java.lang.String.length:()I
ifle 12
10: aload 4
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: aload 4
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 4
aload 3
aload 1
invokeinterface org.apache.commons.configuration2.tree.NodeHandler.nodeName:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
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 this Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
0 14 1 node TT;
0 14 2 parentKey Ljava/lang/String;
0 14 3 handler Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;
9 14 4 buf Ljava/lang/StringBuilder;
Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;)Ljava/lang/String;
MethodParameters:
Name Flags
node final
parentKey final
handler final
public java.lang.String attributeKey(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
aload 1
invokestatic org.apache.commons.lang3.StringUtils.length:(Ljava/lang/CharSequence;)I
1: aload 2
invokestatic org.apache.commons.lang3.StringUtils.length:(Ljava/lang/CharSequence;)I
iadd
2: ldc "/"
invokevirtual java.lang.String.length:()I
iadd
ldc "@"
invokevirtual java.lang.String.length:()I
iadd
3: invokespecial java.lang.StringBuilder.<init>:(I)V
4: astore 3
start local 3 5: aload 1
invokestatic org.apache.commons.lang3.StringUtils.isNotEmpty:(Ljava/lang/CharSequence;)Z
ifeq 7
6: aload 3
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;
pop
7: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 3
ldc "@"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
0 9 1 parentKey Ljava/lang/String;
0 9 2 attributeName Ljava/lang/String;
5 9 3 buf Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
parentKey final
attributeName final
public <T> java.lang.String canonicalKey(T, java.lang.String, org.apache.commons.configuration2.tree.NodeHandler<T>);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Ljava/lang/String;
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 3
aload 1
invokeinterface org.apache.commons.configuration2.tree.NodeHandler.getParent:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: aload 2
invokestatic org.apache.commons.lang3.StringUtils.defaultString:(Ljava/lang/String;)Ljava/lang/String;
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
new java.lang.StringBuilder
dup
sipush 128
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5
start local 5 4: aload 2
invokestatic org.apache.commons.lang3.StringUtils.isNotEmpty:(Ljava/lang/CharSequence;)Z
ifeq 6
5: aload 5
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 5
aload 3
aload 1
invokeinterface org.apache.commons.configuration2.tree.NodeHandler.nodeName:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 5
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: aload 5
aload 4
aload 1
aload 3
invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.determineIndex:(Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/configuration2/tree/NodeHandler;)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
9: aload 5
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
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 11 0 this Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
0 11 1 node TT;
0 11 2 parentKey Ljava/lang/String;
0 11 3 handler Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;
1 11 4 parent TT;
4 11 5 buf Ljava/lang/StringBuilder;
Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;)Ljava/lang/String;
MethodParameters:
Name Flags
node final
parentKey final
handler final
public <T> org.apache.commons.configuration2.tree.NodeAddData<T> prepareAdd(T, java.lang.String, org.apache.commons.configuration2.tree.NodeHandler<T>);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Lorg/apache/commons/configuration2/tree/NodeAddData;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 4
1: new java.lang.IllegalArgumentException
dup
2: ldc "prepareAdd: key must not be null!"
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 2
astore 4
start local 4 5: aload 4
invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.findKeySeparator:(Ljava/lang/String;)I
istore 5
start local 5 6: iload 5
ifge 10
7: aload 0
aload 1
aload 4
aload 3
invokevirtual org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.generateKeyForAdd:(Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Ljava/lang/String;
astore 4
8: aload 4
invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.findKeySeparator:(Ljava/lang/String;)I
istore 5
9: goto 12
10: StackMap locals: java.lang.String int
StackMap stack:
iload 5
aload 4
invokevirtual java.lang.String.length:()I
iconst_1
isub
if_icmplt 12
11: aload 4
ldc " new node path must not be empty."
invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.invalidPath:(Ljava/lang/String;Ljava/lang/String;)V
12: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
aload 3
invokevirtual org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.query:(Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Ljava/util/List;
13: astore 6
start local 6 14: aload 6
invokeinterface java.util.List.size:()I
iconst_1
if_icmpeq 18
15: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "prepareAdd: key '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: ldc "' must select exactly one target node!"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: java.util.List
StackMap stack:
aload 0
aload 4
iload 5
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
aload 6
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.commons.configuration2.tree.QueryResult
invokevirtual org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.createNodeAddData:(Ljava/lang/String;Lorg/apache/commons/configuration2/tree/QueryResult;)Lorg/apache/commons/configuration2/tree/NodeAddData;
areturn
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 19 0 this Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
0 19 1 root TT;
0 19 2 key Ljava/lang/String;
0 19 3 handler Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;
5 19 4 addKey Ljava/lang/String;
6 19 5 index I
14 19 6 nodes Ljava/util/List<Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;>;
Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;)Lorg/apache/commons/configuration2/tree/NodeAddData<TT;>;
MethodParameters:
Name Flags
root final
key final
handler final
private <T> org.apache.commons.jxpath.JXPathContext createContext(T, org.apache.commons.configuration2.tree.NodeHandler<T>);
descriptor: (Ljava/lang/Object;Lorg/apache/commons/configuration2/tree/NodeHandler;)Lorg/apache/commons/jxpath/JXPathContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.getContextFactory:()Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;
aload 1
aload 2
invokevirtual org.apache.commons.configuration2.tree.xpath.XPathContextFactory.createContext:(Ljava/lang/Object;Lorg/apache/commons/configuration2/tree/NodeHandler;)Lorg/apache/commons/jxpath/JXPathContext;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
0 1 1 root TT;
0 1 2 handler Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;
Signature: <T:Ljava/lang/Object;>(TT;Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;)Lorg/apache/commons/jxpath/JXPathContext;
MethodParameters:
Name Flags
root final
handler final
<T> org.apache.commons.configuration2.tree.NodeAddData<T> createNodeAddData(java.lang.String, org.apache.commons.configuration2.tree.QueryResult<T>);
descriptor: (Ljava/lang/String;Lorg/apache/commons/configuration2/tree/QueryResult;)Lorg/apache/commons/configuration2/tree/NodeAddData;
flags: (0x0000)
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.apache.commons.configuration2.tree.QueryResult.isAttributeResult:()Z
ifeq 2
1: aload 1
ldc " cannot add properties to an attribute."
invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.invalidPath:(Ljava/lang/String;Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: iconst_1
istore 6
start local 6 6: new java.util.StringTokenizer
dup
aload 1
ldc "/@"
iconst_1
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
7: astore 7
start local 7 8: goto 36
9: StackMap locals: org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine java.lang.String org.apache.commons.configuration2.tree.QueryResult java.util.List java.lang.String int int java.util.StringTokenizer
StackMap stack:
aload 7
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 8
start local 8 10: ldc "/"
aload 8
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
11: iload 5
ifeq 13
12: aload 1
ldc " contains an attribute delimiter at a disallowed position."
invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.invalidPath:(Ljava/lang/String;Ljava/lang/String;)V
13: StackMap locals: java.lang.String
StackMap stack:
aload 4
ifnonnull 17
14: aload 1
15: ldc " contains a '/' at a disallowed position."
16: invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.invalidPath:(Ljava/lang/String;Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: aconst_null
astore 4
19: goto 35
20: StackMap locals:
StackMap stack:
ldc "@"
aload 8
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 34
21: iload 5
ifeq 25
22: aload 1
23: ldc " contains multiple attribute delimiters."
24: invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.invalidPath:(Ljava/lang/String;Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
aload 4
ifnonnull 29
iload 6
ifne 29
26: aload 1
27: ldc " contains an attribute delimiter at a disallowed position."
28: invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.invalidPath:(Ljava/lang/String;Ljava/lang/String;)V
29: StackMap locals:
StackMap stack:
aload 4
ifnull 31
30: aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
31: StackMap locals:
StackMap stack:
iconst_1
istore 5
32: aconst_null
astore 4
33: goto 35
34: StackMap locals:
StackMap stack:
aload 8
astore 4
35: StackMap locals:
StackMap stack:
iconst_0
istore 6
end local 8 36: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 9
37: aload 4
ifnonnull 39
38: aload 1
ldc "contains no components."
invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.invalidPath:(Ljava/lang/String;Ljava/lang/String;)V
39: StackMap locals:
StackMap stack:
new org.apache.commons.configuration2.tree.NodeAddData
dup
aload 2
invokevirtual org.apache.commons.configuration2.tree.QueryResult.getNode:()Ljava/lang/Object;
aload 4
40: iload 5
aload 3
41: invokespecial org.apache.commons.configuration2.tree.NodeAddData.<init>:(Ljava/lang/Object;Ljava/lang/String;ZLjava/util/Collection;)V
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 42 0 this Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
0 42 1 path Ljava/lang/String;
0 42 2 parentNodeResult Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;
3 42 3 pathNodes Ljava/util/List<Ljava/lang/String;>;
4 42 4 lastComponent Ljava/lang/String;
5 42 5 attr Z
6 42 6 first Z
8 42 7 tok Ljava/util/StringTokenizer;
10 36 8 token Ljava/lang/String;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;)Lorg/apache/commons/configuration2/tree/NodeAddData<TT;>;
MethodParameters:
Name Flags
path final
parentNodeResult final
org.apache.commons.configuration2.tree.xpath.XPathContextFactory getContextFactory();
descriptor: ()Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.contextFactory:Lorg/apache/commons/configuration2/tree/xpath/XPathContextFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
private <T> java.lang.String generateKeyForAdd(T, java.lang.String, org.apache.commons.configuration2.tree.NodeHandler<T>);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ldc "/"
aload 2
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
istore 4
start local 4 1: goto 9
2: StackMap locals: int
StackMap stack:
aload 2
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 5
start local 5 3: aload 0
aload 1
aload 5
aload 3
invokevirtual org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.query:(Ljava/lang/Object;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler;)Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 8
4: new java.lang.StringBuilder
dup
aload 2
invokevirtual java.lang.String.length:()I
iconst_1
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 6
start local 6 5: aload 6
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 6
aload 2
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 6 8: StackMap locals: java.lang.String
StackMap stack:
aload 2
ldc "/"
iload 4
iconst_1
isub
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
istore 4
end local 5 9: StackMap locals:
StackMap stack:
iload 4
ifge 2
10: new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/commons/configuration2/tree/xpath/XPathExpressionEngine;
0 11 1 root TT;
0 11 2 key Ljava/lang/String;
0 11 3 handler Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;
1 11 4 pos I
3 9 5 keyExisting Ljava/lang/String;
5 8 6 buf Ljava/lang/StringBuilder;
Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;)Ljava/lang/String;
MethodParameters:
Name Flags
root final
key final
handler final
private static <T> int determineIndex(T, T, org.apache.commons.configuration2.tree.NodeHandler<T>);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/configuration2/tree/NodeHandler;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
aload 2
aload 1
invokeinterface org.apache.commons.configuration2.tree.NodeHandler.nodeName:(Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.commons.configuration2.tree.NodeHandler.getChildren:(Ljava/lang/Object;Ljava/lang/String;)Ljava/util/List;
1: aload 1
2: invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
3: iconst_1
4: iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 parent TT;
0 5 1 child TT;
0 5 2 handler Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;
Signature: <T:Ljava/lang/Object;>(TT;TT;Lorg/apache/commons/configuration2/tree/NodeHandler<TT;>;)I
MethodParameters:
Name Flags
parent final
child final
handler final
private static void invalidPath(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid node path: \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: ldc "\" "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
2: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 path Ljava/lang/String;
0 3 1 msg Ljava/lang/String;
MethodParameters:
Name Flags
path final
msg final
private static int findKeySeparator(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
istore 1
start local 1 1: goto 3
2: StackMap locals: int
StackMap stack:
iinc 1 -1
3: StackMap locals:
StackMap stack:
iload 1
iflt 4
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 2
4: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 key Ljava/lang/String;
1 5 1 index I
MethodParameters:
Name Flags
key final
private static <T> java.util.List<org.apache.commons.configuration2.tree.QueryResult<T>> convertResults(java.util.List<?>);
descriptor: (Ljava/util/List;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
1: astore 1
start local 1 2: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: java.util.List java.util.List top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 2
start local 2 4: aload 2
invokestatic org.apache.commons.configuration2.tree.xpath.XPathExpressionEngine.createResult:(Ljava/lang/Object;)Lorg/apache/commons/configuration2/tree/QueryResult;
astore 4
start local 4 5: aload 1
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 results Ljava/util/List<*>;
2 8 1 queryResults Ljava/util/List<Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;>;
4 6 2 res Ljava/lang/Object;
5 6 4 queryResult Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/List<*>;)Ljava/util/List<Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;>;
MethodParameters:
Name Flags
results final
private static <T> org.apache.commons.configuration2.tree.QueryResult<T> createResult();
descriptor: (Ljava/lang/Object;)Lorg/apache/commons/configuration2/tree/QueryResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.apache.commons.configuration2.tree.QueryResult
ifeq 2
1: aload 0
checkcast org.apache.commons.configuration2.tree.QueryResult
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic org.apache.commons.configuration2.tree.QueryResult.createNodeResult:(Ljava/lang/Object;)Lorg/apache/commons/configuration2/tree/QueryResult;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 resObj Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;)Lorg/apache/commons/configuration2/tree/QueryResult<TT;>;
MethodParameters:
Name Flags
resObj final
}
SourceFile: "XPathExpressionEngine.java"