class com.jayway.jsonpath.internal.path.PropertyPathToken extends com.jayway.jsonpath.internal.path.PathToken
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.jayway.jsonpath.internal.path.PropertyPathToken
super_class: com.jayway.jsonpath.internal.path.PathToken
{
private final java.util.List<java.lang.String> properties;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
private final java.lang.String stringDelimiter;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/jayway/jsonpath/internal/path/PropertyPathToken;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.jayway.jsonpath.internal.path.PropertyPathToken.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.util.List<java.lang.String>, );
descriptor: (Ljava/util/List;C)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
invokespecial com.jayway.jsonpath.internal.path.PathToken.<init>:()V
1: aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 3
2: new com.jayway.jsonpath.InvalidPathException
dup
ldc "Empty properties"
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: com.jayway.jsonpath.internal.path.PropertyPathToken java.util.List int
StackMap stack:
aload 0
aload 1
putfield com.jayway.jsonpath.internal.path.PropertyPathToken.properties:Ljava/util/List;
4: aload 0
iload 2
invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
putfield com.jayway.jsonpath.internal.path.PropertyPathToken.stringDelimiter:Ljava/lang/String;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/jayway/jsonpath/internal/path/PropertyPathToken;
0 6 1 properties Ljava/util/List<Ljava/lang/String;>;
0 6 2 stringDelimiter C
Signature: (Ljava/util/List<Ljava/lang/String;>;C)V
MethodParameters:
Name Flags
properties
stringDelimiter
public java.util.List<java.lang.String> getProperties();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.path.PropertyPathToken.properties:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jayway/jsonpath/internal/path/PropertyPathToken;
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public boolean singlePropertyCase();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.path.PropertyPathToken.properties:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/jayway/jsonpath/internal/path/PropertyPathToken;
public boolean multiPropertyMergeCase();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.isLeaf:()Z
ifeq 1
aload 0
getfield com.jayway.jsonpath.internal.path.PropertyPathToken.properties:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/jayway/jsonpath/internal/path/PropertyPathToken;
public boolean multiPropertyIterationCase();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.isLeaf:()Z
ifne 1
aload 0
getfield com.jayway.jsonpath.internal.path.PropertyPathToken.properties:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/jayway/jsonpath/internal/path/PropertyPathToken;
public void evaluate(java.lang.String, com.jayway.jsonpath.internal.PathRef, java.lang.Object, com.jayway.jsonpath.internal.path.EvaluationContextImpl);
descriptor: (Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic com.jayway.jsonpath.internal.path.PropertyPathToken.$assertionsDisabled:Z
ifne 1
iconst_3
newarray 4
dup
iconst_0
aload 0
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.singlePropertyCase:()Z
bastore
dup
iconst_1
aload 0
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.multiPropertyMergeCase:()Z
bastore
dup
iconst_2
aload 0
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.multiPropertyIterationCase:()Z
bastore
invokestatic com.jayway.jsonpath.internal.Utils.onlyOneIsTrueNonThrow:([Z)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.jsonProvider:()Lcom/jayway/jsonpath/spi/json/JsonProvider;
aload 3
invokeinterface com.jayway.jsonpath.spi.json.JsonProvider.isMap:(Ljava/lang/Object;)Z
ifne 11
2: aload 0
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.isUpstreamDefinite:()Z
ifne 4
3: return
4: StackMap locals:
StackMap stack:
aload 3
ifnonnull 5
ldc "null"
goto 6
StackMap locals:
StackMap stack:
5: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
6: astore 5
start local 5 7: new com.jayway.jsonpath.PathNotFoundException
dup
8: ldc "Expected to find an object with property %s in path %s but found '%s'. This is not a json object according to the JsonProvider: '%s'."
iconst_4
anewarray java.lang.Object
dup
iconst_0
9: aload 0
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.getPathFragment:()Ljava/lang/String;
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 5
aastore
dup
iconst_3
aload 4
invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.configuration:()Lcom/jayway/jsonpath/Configuration;
invokevirtual com.jayway.jsonpath.Configuration.jsonProvider:()Lcom/jayway/jsonpath/spi/json/JsonProvider;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
10: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial com.jayway.jsonpath.PathNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 5 11: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.singlePropertyCase:()Z
ifne 12
aload 0
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.multiPropertyMergeCase:()Z
ifeq 14
12: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
aload 4
aload 0
getfield com.jayway.jsonpath.internal.path.PropertyPathToken.properties:Ljava/util/List;
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.handleObjectProperty:(Ljava/lang/String;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;Ljava/util/List;)V
13: return
14: StackMap locals:
StackMap stack:
getstatic com.jayway.jsonpath.internal.path.PropertyPathToken.$assertionsDisabled:Z
ifne 15
aload 0
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.multiPropertyIterationCase:()Z
ifne 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 16: aload 5
aconst_null
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: aload 0
getfield com.jayway.jsonpath.internal.path.PropertyPathToken.properties:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 21
StackMap locals: com.jayway.jsonpath.internal.path.PropertyPathToken java.lang.String com.jayway.jsonpath.internal.PathRef java.lang.Object com.jayway.jsonpath.internal.path.EvaluationContextImpl java.util.List top java.util.Iterator
StackMap stack:
18: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 19: aload 5
iconst_0
aload 6
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
20: aload 0
aload 1
aload 3
aload 4
aload 5
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.handleObjectProperty:(Ljava/lang/String;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;Ljava/util/List;)V
end local 6 21: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
22: return
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 23 0 this Lcom/jayway/jsonpath/internal/path/PropertyPathToken;
0 23 1 currentPath Ljava/lang/String;
0 23 2 parent Lcom/jayway/jsonpath/internal/PathRef;
0 23 3 model Ljava/lang/Object;
0 23 4 ctx Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;
7 11 5 m Ljava/lang/String;
16 23 5 currentlyHandledProperty Ljava/util/List<Ljava/lang/String;>;
19 21 6 property Ljava/lang/String;
MethodParameters:
Name Flags
currentPath
parent
model
ctx
public boolean isTokenDefinite();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.singlePropertyCase:()Z
ifne 1
aload 0
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.multiPropertyMergeCase:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/jayway/jsonpath/internal/path/PropertyPathToken;
public java.lang.String getPathFragment();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
1: ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc ","
aload 0
getfield com.jayway.jsonpath.internal.path.PropertyPathToken.stringDelimiter:Ljava/lang/String;
aload 0
getfield com.jayway.jsonpath.internal.path.PropertyPathToken.properties:Ljava/util/List;
invokestatic com.jayway.jsonpath.internal.Utils.join:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Iterable;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/jayway/jsonpath/internal/path/PropertyPathToken;
}
SourceFile: "PropertyPathToken.java"