class org.mongodb.morphia.query.FieldCriteria extends org.mongodb.morphia.query.AbstractCriteria
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.mongodb.morphia.query.FieldCriteria
super_class: org.mongodb.morphia.query.AbstractCriteria
{
private static final org.mongodb.morphia.logging.Logger LOG;
descriptor: Lorg/mongodb/morphia/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.String field;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.mongodb.morphia.query.FilterOperator operator;
descriptor: Lorg/mongodb/morphia/query/FilterOperator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object value;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean not;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/mongodb/morphia/query/FieldCriteria;
invokestatic org.mongodb.morphia.logging.MorphiaLoggerFactory.get:(Ljava/lang/Class;)Lorg/mongodb/morphia/logging/Logger;
putstatic org.mongodb.morphia.query.FieldCriteria.LOG:Lorg/mongodb/morphia/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.mongodb.morphia.query.QueryImpl<?>, java.lang.String, org.mongodb.morphia.query.FilterOperator, );
descriptor: (Lorg/mongodb/morphia/query/QueryImpl;Ljava/lang/String;Lorg/mongodb/morphia/query/FilterOperator;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
iconst_0
invokespecial org.mongodb.morphia.query.FieldCriteria.<init>:(Lorg/mongodb/morphia/query/QueryImpl;Ljava/lang/String;Lorg/mongodb/morphia/query/FilterOperator;Ljava/lang/Object;Z)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/mongodb/morphia/query/FieldCriteria;
0 2 1 query Lorg/mongodb/morphia/query/QueryImpl<*>;
0 2 2 field Ljava/lang/String;
0 2 3 op Lorg/mongodb/morphia/query/FilterOperator;
0 2 4 value Ljava/lang/Object;
Signature: (Lorg/mongodb/morphia/query/QueryImpl<*>;Ljava/lang/String;Lorg/mongodb/morphia/query/FilterOperator;Ljava/lang/Object;)V
MethodParameters:
Name Flags
query final
field final
op final
value final
void <init>(org.mongodb.morphia.query.QueryImpl<?>, java.lang.String, org.mongodb.morphia.query.FilterOperator, , );
descriptor: (Lorg/mongodb/morphia/query/QueryImpl;Ljava/lang/String;Lorg/mongodb/morphia/query/FilterOperator;Ljava/lang/Object;Z)V
flags: (0x0000)
Code:
stack=7, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial org.mongodb.morphia.query.AbstractCriteria.<init>:()V
1: new java.lang.StringBuilder
dup
aload 2
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 6
start local 6 2: aload 1
invokevirtual org.mongodb.morphia.query.QueryImpl.getDatastore:()Lorg/mongodb/morphia/DatastoreImpl;
invokevirtual org.mongodb.morphia.DatastoreImpl.getMapper:()Lorg/mongodb/morphia/mapping/Mapper;
astore 7
start local 7 3: aload 1
invokevirtual org.mongodb.morphia.query.QueryImpl.getEntityClass:()Ljava/lang/Class;
4: aload 7
5: aload 6
6: aload 3
7: aload 4
8: aload 1
invokevirtual org.mongodb.morphia.query.QueryImpl.isValidatingNames:()Z
9: aload 1
invokevirtual org.mongodb.morphia.query.QueryImpl.isValidatingTypes:()Z
10: invokestatic org.mongodb.morphia.query.QueryValidator.validateQuery:(Ljava/lang/Class;Lorg/mongodb/morphia/mapping/Mapper;Ljava/lang/StringBuilder;Lorg/mongodb/morphia/query/FilterOperator;Ljava/lang/Object;ZZ)Lorg/mongodb/morphia/mapping/MappedField;
astore 8
start local 8 11: aconst_null
astore 9
start local 9 12: aload 4
ifnull 23
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.mongodb.morphia.utils.ReflectionUtils.isPropertyType:(Ljava/lang/Class;)Z
ifne 23
13: aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/lang/Iterable;
invokestatic org.mongodb.morphia.utils.ReflectionUtils.implementsInterface:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifne 23
14: aload 8
ifnull 19
aload 8
invokevirtual org.mongodb.morphia.mapping.MappedField.isTypeMongoCompatible:()Z
ifne 19
15: aload 7
aload 8
invokevirtual org.mongodb.morphia.mapping.MappedField.isSingleValue:()Z
ifeq 16
aload 8
invokevirtual org.mongodb.morphia.mapping.MappedField.getType:()Ljava/lang/Class;
goto 17
StackMap locals: org.mongodb.morphia.query.FieldCriteria org.mongodb.morphia.query.QueryImpl java.lang.String org.mongodb.morphia.query.FilterOperator java.lang.Object int java.lang.StringBuilder org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.MappedClass
StackMap stack: org.mongodb.morphia.mapping.Mapper
16: aload 8
invokevirtual org.mongodb.morphia.mapping.MappedField.getSubClass:()Ljava/lang/Class;
StackMap locals: org.mongodb.morphia.query.FieldCriteria org.mongodb.morphia.query.QueryImpl java.lang.String org.mongodb.morphia.query.FilterOperator java.lang.Object int java.lang.StringBuilder org.mongodb.morphia.mapping.Mapper org.mongodb.morphia.mapping.MappedField org.mongodb.morphia.mapping.MappedClass
StackMap stack: org.mongodb.morphia.mapping.Mapper java.lang.Class
17: invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
astore 9
18: goto 23
19: StackMap locals:
StackMap stack:
aload 7
aload 4
invokevirtual org.mongodb.morphia.mapping.Mapper.getMappedClass:(Ljava/lang/Object;)Lorg/mongodb/morphia/mapping/MappedClass;
astore 9
20: goto 23
StackMap locals:
StackMap stack: java.lang.Exception
21: astore 10
start local 10 22: getstatic org.mongodb.morphia.query.FieldCriteria.LOG:Lorg/mongodb/morphia/logging/Logger;
ldc "Error during mapping of filter criteria: "
aload 10
invokeinterface org.mongodb.morphia.logging.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 10 23: StackMap locals:
StackMap stack:
aload 7
aload 8
aload 9
aload 4
invokevirtual org.mongodb.morphia.mapping.Mapper.toMongoObject:(Lorg/mongodb/morphia/mapping/MappedField;Lorg/mongodb/morphia/mapping/MappedClass;Ljava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 24: aload 10
ifnonnull 25
aconst_null
goto 26
StackMap locals: java.lang.Object
StackMap stack:
25: aload 10
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
26: astore 11
start local 11 27: aload 11
ifnull 30
aload 3
getstatic org.mongodb.morphia.query.FilterOperator.IN:Lorg/mongodb/morphia/query/FilterOperator;
if_acmpeq 28
aload 3
getstatic org.mongodb.morphia.query.FilterOperator.NOT_IN:Lorg/mongodb/morphia/query/FilterOperator;
if_acmpne 30
28: StackMap locals: java.lang.Class
StackMap stack:
aload 11
invokevirtual java.lang.Class.isArray:()Z
ifne 30
ldc Ljava/lang/Iterable;
aload 11
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 30
29: aload 10
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
astore 10
30: StackMap locals:
StackMap stack:
aload 4
ifnull 33
aload 11
ifnonnull 33
aload 3
getstatic org.mongodb.morphia.query.FilterOperator.IN:Lorg/mongodb/morphia/query/FilterOperator;
if_acmpeq 31
aload 3
getstatic org.mongodb.morphia.query.FilterOperator.NOT_IN:Lorg/mongodb/morphia/query/FilterOperator;
if_acmpne 33
31: StackMap locals:
StackMap stack:
ldc Ljava/lang/Iterable;
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 33
32: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
astore 10
33: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield org.mongodb.morphia.query.FieldCriteria.field:Ljava/lang/String;
34: aload 0
aload 3
putfield org.mongodb.morphia.query.FieldCriteria.operator:Lorg/mongodb/morphia/query/FilterOperator;
35: aload 0
aload 10
putfield org.mongodb.morphia.query.FieldCriteria.value:Ljava/lang/Object;
36: aload 0
iload 5
putfield org.mongodb.morphia.query.FieldCriteria.not:Z
37: return
end local 11 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 38 0 this Lorg/mongodb/morphia/query/FieldCriteria;
0 38 1 query Lorg/mongodb/morphia/query/QueryImpl<*>;
0 38 2 fieldName Ljava/lang/String;
0 38 3 op Lorg/mongodb/morphia/query/FilterOperator;
0 38 4 value Ljava/lang/Object;
0 38 5 not Z
2 38 6 sb Ljava/lang/StringBuilder;
3 38 7 mapper Lorg/mongodb/morphia/mapping/Mapper;
11 38 8 mf Lorg/mongodb/morphia/mapping/MappedField;
12 38 9 mc Lorg/mongodb/morphia/mapping/MappedClass;
22 23 10 e Ljava/lang/Exception;
24 38 10 mappedValue Ljava/lang/Object;
27 38 11 type Ljava/lang/Class<*>;
Exception table:
from to target type
12 20 21 Class java.lang.Exception
Signature: (Lorg/mongodb/morphia/query/QueryImpl<*>;Ljava/lang/String;Lorg/mongodb/morphia/query/FilterOperator;Ljava/lang/Object;Z)V
MethodParameters:
Name Flags
query final
fieldName final
op final
value final
not final
public void addTo(com.mongodb.DBObject);
descriptor: (Lcom/mongodb/DBObject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: getstatic org.mongodb.morphia.query.FilterOperator.EQUAL:Lorg/mongodb/morphia/query/FilterOperator;
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.operator:Lorg/mongodb/morphia/query/FilterOperator;
invokevirtual org.mongodb.morphia.query.FilterOperator.equals:(Ljava/lang/Object;)Z
ifeq 6
1: aload 0
getfield org.mongodb.morphia.query.FieldCriteria.not:Z
ifeq 4
2: aload 1
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.field:Ljava/lang/String;
new com.mongodb.BasicDBObject
dup
ldc "$not"
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.value:Ljava/lang/Object;
invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface com.mongodb.DBObject.put:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: goto 16
4: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.field:Ljava/lang/String;
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.value:Ljava/lang/Object;
invokeinterface com.mongodb.DBObject.put:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: goto 16
6: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.field:Ljava/lang/String;
invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
astore 2
start local 2 7: aload 2
instanceof java.util.Map
ifne 11
8: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 3
start local 3 9: aload 1
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.field:Ljava/lang/String;
aload 3
invokeinterface com.mongodb.DBObject.put:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: goto 12
end local 3 11: StackMap locals: java.lang.Object
StackMap stack:
aload 2
checkcast java.util.Map
astore 3
start local 3 12: StackMap locals: java.util.Map
StackMap stack:
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.not:Z
ifeq 15
13: aload 3
ldc "$not"
new com.mongodb.BasicDBObject
dup
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.operator:Lorg/mongodb/morphia/query/FilterOperator;
invokevirtual org.mongodb.morphia.query.FilterOperator.val:()Ljava/lang/String;
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.value:Ljava/lang/Object;
invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: goto 16
15: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.operator:Lorg/mongodb/morphia/query/FilterOperator;
invokevirtual org.mongodb.morphia.query.FilterOperator.val:()Ljava/lang/String;
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.value:Ljava/lang/Object;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 end local 2 16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/mongodb/morphia/query/FieldCriteria;
0 17 1 obj Lcom/mongodb/DBObject;
7 16 2 object Ljava/lang/Object;
9 11 3 inner Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
12 16 3 inner Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
MethodParameters:
Name Flags
obj final
public java.lang.String getFieldName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.query.FieldCriteria.field:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/FieldCriteria;
public java.lang.String getField();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.query.FieldCriteria.field:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/FieldCriteria;
public org.mongodb.morphia.query.FilterOperator getOperator();
descriptor: ()Lorg/mongodb/morphia/query/FilterOperator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.query.FieldCriteria.operator:Lorg/mongodb/morphia/query/FilterOperator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/FieldCriteria;
public java.lang.Object getValue();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.query.FieldCriteria.value:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/FieldCriteria;
public boolean isNot();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.mongodb.morphia.query.FieldCriteria.not:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/FieldCriteria;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.field: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;
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.operator:Lorg/mongodb/morphia/query/FilterOperator;
invokevirtual org.mongodb.morphia.query.FilterOperator.val:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.mongodb.morphia.query.FieldCriteria.value:Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/mongodb/morphia/query/FieldCriteria;
}
SourceFile: "FieldCriteria.java"