abstract class io.ebeaninternal.server.expression.LogicExpression implements io.ebeaninternal.api.SpiExpression
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: io.ebeaninternal.server.expression.LogicExpression
super_class: java.lang.Object
{
static final java.lang.String AND;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: " and "
static final java.lang.String OR;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: " or "
io.ebeaninternal.api.SpiExpression expOne;
descriptor: Lio/ebeaninternal/api/SpiExpression;
flags: (0x0000)
io.ebeaninternal.api.SpiExpression expTwo;
descriptor: Lio/ebeaninternal/api/SpiExpression;
flags: (0x0000)
private final boolean conjunction;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(boolean, io.ebean.Expression, io.ebean.Expression);
descriptor: (ZLio/ebean/Expression;Lio/ebean/Expression;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield io.ebeaninternal.server.expression.LogicExpression.conjunction:Z
2: aload 0
aload 2
checkcast io.ebeaninternal.api.SpiExpression
putfield io.ebeaninternal.server.expression.LogicExpression.expOne:Lio/ebeaninternal/api/SpiExpression;
3: aload 0
aload 3
checkcast io.ebeaninternal.api.SpiExpression
putfield io.ebeaninternal.server.expression.LogicExpression.expTwo:Lio/ebeaninternal/api/SpiExpression;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/ebeaninternal/server/expression/LogicExpression;
0 5 1 conjunction Z
0 5 2 expOne Lio/ebean/Expression;
0 5 3 expTwo Lio/ebean/Expression;
MethodParameters:
Name Flags
conjunction
expOne
expTwo
public boolean naturalKey(io.ebeaninternal.api.NaturalKeyQueryData<?>);
descriptor: (Lio/ebeaninternal/api/NaturalKeyQueryData;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/expression/LogicExpression;
0 1 1 data Lio/ebeaninternal/api/NaturalKeyQueryData<*>;
Signature: (Lio/ebeaninternal/api/NaturalKeyQueryData<*>;)Z
MethodParameters:
Name Flags
data
public void simplify();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/expression/LogicExpression;
public void writeDocQuery(io.ebeaninternal.server.expression.DocQueryContext);
descriptor: (Lio/ebeaninternal/server/expression/DocQueryContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.conjunction:Z
ifeq 1
getstatic io.ebean.Junction$Type.AND:Lio/ebean/Junction$Type;
goto 2
StackMap locals:
StackMap stack: io.ebeaninternal.server.expression.DocQueryContext
1: getstatic io.ebean.Junction$Type.OR:Lio/ebean/Junction$Type;
StackMap locals: io.ebeaninternal.server.expression.LogicExpression io.ebeaninternal.server.expression.DocQueryContext
StackMap stack: io.ebeaninternal.server.expression.DocQueryContext io.ebean.Junction$Type
2: invokeinterface io.ebeaninternal.server.expression.DocQueryContext.startBool:(Lio/ebean/Junction$Type;)V
3: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expOne:Lio/ebeaninternal/api/SpiExpression;
aload 1
invokeinterface io.ebeaninternal.api.SpiExpression.writeDocQuery:(Lio/ebeaninternal/server/expression/DocQueryContext;)V
4: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expTwo:Lio/ebeaninternal/api/SpiExpression;
aload 1
invokeinterface io.ebeaninternal.api.SpiExpression.writeDocQuery:(Lio/ebeaninternal/server/expression/DocQueryContext;)V
5: aload 1
invokeinterface io.ebeaninternal.server.expression.DocQueryContext.endBool:()V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/ebeaninternal/server/expression/LogicExpression;
0 7 1 context Lio/ebeaninternal/server/expression/DocQueryContext;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
public java.lang.String nestedPath(io.ebeaninternal.server.deploy.BeanDescriptor<?>);
descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptor;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expOne:Lio/ebeaninternal/api/SpiExpression;
aload 1
invokeinterface io.ebeaninternal.api.SpiExpression.nestedPath:(Lio/ebeaninternal/server/deploy/BeanDescriptor;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expTwo:Lio/ebeaninternal/api/SpiExpression;
aload 1
invokeinterface io.ebeaninternal.api.SpiExpression.nestedPath:(Lio/ebeaninternal/server/deploy/BeanDescriptor;)Ljava/lang/String;
astore 3
start local 3 2: aload 2
ifnonnull 4
aload 3
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 2
ifnull 6
aload 2
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 2
areturn
6: StackMap locals:
StackMap stack:
aload 2
ifnull 8
7: aload 0
new io.ebeaninternal.server.expression.NestedPathWrapperExpression
dup
aload 2
aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expOne:Lio/ebeaninternal/api/SpiExpression;
invokespecial io.ebeaninternal.server.expression.NestedPathWrapperExpression.<init>:(Ljava/lang/String;Lio/ebeaninternal/api/SpiExpression;)V
putfield io.ebeaninternal.server.expression.LogicExpression.expOne:Lio/ebeaninternal/api/SpiExpression;
8: StackMap locals:
StackMap stack:
aload 3
ifnull 10
9: aload 0
new io.ebeaninternal.server.expression.NestedPathWrapperExpression
dup
aload 3
aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expTwo:Lio/ebeaninternal/api/SpiExpression;
invokespecial io.ebeaninternal.server.expression.NestedPathWrapperExpression.<init>:(Ljava/lang/String;Lio/ebeaninternal/api/SpiExpression;)V
putfield io.ebeaninternal.server.expression.LogicExpression.expTwo:Lio/ebeaninternal/api/SpiExpression;
10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/ebeaninternal/server/expression/LogicExpression;
0 11 1 desc Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
1 11 2 pathOne Ljava/lang/String;
2 11 3 pathTwo Ljava/lang/String;
Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
desc
public java.lang.Object getIdEqualTo(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/expression/LogicExpression;
0 1 1 idName Ljava/lang/String;
MethodParameters:
Name Flags
idName
public void containsMany(io.ebeaninternal.server.deploy.BeanDescriptor<?>, io.ebeaninternal.api.ManyWhereJoins);
descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/api/ManyWhereJoins;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual io.ebeaninternal.api.ManyWhereJoins.isRequireOuterJoins:()Z
istore 3
start local 3 1: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.conjunction:Z
ifne 3
2: aload 2
iconst_1
invokevirtual io.ebeaninternal.api.ManyWhereJoins.setRequireOuterJoins:(Z)V
3: StackMap locals: int
StackMap stack:
aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expOne:Lio/ebeaninternal/api/SpiExpression;
aload 1
aload 2
invokeinterface io.ebeaninternal.api.SpiExpression.containsMany:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/api/ManyWhereJoins;)V
4: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expTwo:Lio/ebeaninternal/api/SpiExpression;
aload 1
aload 2
invokeinterface io.ebeaninternal.api.SpiExpression.containsMany:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/api/ManyWhereJoins;)V
5: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.conjunction:Z
ifne 7
iload 3
ifne 7
6: aload 2
iconst_0
invokevirtual io.ebeaninternal.api.ManyWhereJoins.setRequireOuterJoins:(Z)V
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/ebeaninternal/server/expression/LogicExpression;
0 8 1 desc Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
0 8 2 manyWhereJoin Lio/ebeaninternal/api/ManyWhereJoins;
1 8 3 parentOuterJoins Z
Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;Lio/ebeaninternal/api/ManyWhereJoins;)V
MethodParameters:
Name Flags
desc
manyWhereJoin
public void validate(io.ebeaninternal.api.SpiExpressionValidation);
descriptor: (Lio/ebeaninternal/api/SpiExpressionValidation;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expOne:Lio/ebeaninternal/api/SpiExpression;
aload 1
invokeinterface io.ebeaninternal.api.SpiExpression.validate:(Lio/ebeaninternal/api/SpiExpressionValidation;)V
1: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expTwo:Lio/ebeaninternal/api/SpiExpression;
aload 1
invokeinterface io.ebeaninternal.api.SpiExpression.validate:(Lio/ebeaninternal/api/SpiExpressionValidation;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/ebeaninternal/server/expression/LogicExpression;
0 3 1 validation Lio/ebeaninternal/api/SpiExpressionValidation;
MethodParameters:
Name Flags
validation
public void addBindValues(io.ebeaninternal.api.SpiExpressionRequest);
descriptor: (Lio/ebeaninternal/api/SpiExpressionRequest;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expOne:Lio/ebeaninternal/api/SpiExpression;
aload 1
invokeinterface io.ebeaninternal.api.SpiExpression.addBindValues:(Lio/ebeaninternal/api/SpiExpressionRequest;)V
1: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expTwo:Lio/ebeaninternal/api/SpiExpression;
aload 1
invokeinterface io.ebeaninternal.api.SpiExpression.addBindValues:(Lio/ebeaninternal/api/SpiExpressionRequest;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/ebeaninternal/server/expression/LogicExpression;
0 3 1 request Lio/ebeaninternal/api/SpiExpressionRequest;
MethodParameters:
Name Flags
request
public void addSql(io.ebeaninternal.api.SpiExpressionRequest);
descriptor: (Lio/ebeaninternal/api/SpiExpressionRequest;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "("
invokeinterface io.ebeaninternal.api.SpiExpressionRequest.append:(Ljava/lang/String;)Lio/ebeaninternal/api/SpiExpressionRequest;
pop
1: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expOne:Lio/ebeaninternal/api/SpiExpression;
aload 1
invokeinterface io.ebeaninternal.api.SpiExpression.addSql:(Lio/ebeaninternal/api/SpiExpressionRequest;)V
2: aload 1
aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.conjunction:Z
ifeq 3
ldc " and "
goto 4
StackMap locals:
StackMap stack: io.ebeaninternal.api.SpiExpressionRequest
3: ldc " or "
StackMap locals: io.ebeaninternal.server.expression.LogicExpression io.ebeaninternal.api.SpiExpressionRequest
StackMap stack: io.ebeaninternal.api.SpiExpressionRequest java.lang.String
4: invokeinterface io.ebeaninternal.api.SpiExpressionRequest.append:(Ljava/lang/String;)Lio/ebeaninternal/api/SpiExpressionRequest;
pop
5: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expTwo:Lio/ebeaninternal/api/SpiExpression;
aload 1
invokeinterface io.ebeaninternal.api.SpiExpression.addSql:(Lio/ebeaninternal/api/SpiExpressionRequest;)V
6: aload 1
ldc ")"
invokeinterface io.ebeaninternal.api.SpiExpressionRequest.append:(Ljava/lang/String;)Lio/ebeaninternal/api/SpiExpressionRequest;
pop
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/ebeaninternal/server/expression/LogicExpression;
0 8 1 request Lio/ebeaninternal/api/SpiExpressionRequest;
MethodParameters:
Name Flags
request
public void prepareExpression(io.ebean.event.BeanQueryRequest<?>);
descriptor: (Lio/ebean/event/BeanQueryRequest;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expOne:Lio/ebeaninternal/api/SpiExpression;
aload 1
invokeinterface io.ebeaninternal.api.SpiExpression.prepareExpression:(Lio/ebean/event/BeanQueryRequest;)V
1: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expTwo:Lio/ebeaninternal/api/SpiExpression;
aload 1
invokeinterface io.ebeaninternal.api.SpiExpression.prepareExpression:(Lio/ebean/event/BeanQueryRequest;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/ebeaninternal/server/expression/LogicExpression;
0 3 1 request Lio/ebean/event/BeanQueryRequest<*>;
Signature: (Lio/ebean/event/BeanQueryRequest<*>;)V
MethodParameters:
Name Flags
request
public void queryPlanHash(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "Logic"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.conjunction:Z
ifeq 1
ldc " and "
goto 2
StackMap locals:
StackMap stack: java.lang.StringBuilder
1: ldc " or "
StackMap locals: io.ebeaninternal.server.expression.LogicExpression java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.String
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
3: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expOne:Lio/ebeaninternal/api/SpiExpression;
aload 1
invokeinterface io.ebeaninternal.api.SpiExpression.queryPlanHash:(Ljava/lang/StringBuilder;)V
4: aload 1
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expTwo:Lio/ebeaninternal/api/SpiExpression;
aload 1
invokeinterface io.ebeaninternal.api.SpiExpression.queryPlanHash:(Ljava/lang/StringBuilder;)V
6: aload 1
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/ebeaninternal/server/expression/LogicExpression;
0 8 1 builder Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
builder
public int queryBindHash();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expOne:Lio/ebeaninternal/api/SpiExpression;
invokeinterface io.ebeaninternal.api.SpiExpression.queryBindHash:()I
istore 1
start local 1 1: iload 1
ldc 92821
imul
aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expTwo:Lio/ebeaninternal/api/SpiExpression;
invokeinterface io.ebeaninternal.api.SpiExpression.queryBindHash:()I
iadd
istore 1
2: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/ebeaninternal/server/expression/LogicExpression;
1 3 1 hc I
public boolean isSameByBind(io.ebeaninternal.api.SpiExpression);
descriptor: (Lio/ebeaninternal/api/SpiExpression;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast io.ebeaninternal.server.expression.LogicExpression
astore 2
start local 2 1: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expOne:Lio/ebeaninternal/api/SpiExpression;
aload 2
getfield io.ebeaninternal.server.expression.LogicExpression.expOne:Lio/ebeaninternal/api/SpiExpression;
invokeinterface io.ebeaninternal.api.SpiExpression.isSameByBind:(Lio/ebeaninternal/api/SpiExpression;)Z
ifeq 4
2: aload 0
getfield io.ebeaninternal.server.expression.LogicExpression.expTwo:Lio/ebeaninternal/api/SpiExpression;
aload 2
getfield io.ebeaninternal.server.expression.LogicExpression.expTwo:Lio/ebeaninternal/api/SpiExpression;
invokeinterface io.ebeaninternal.api.SpiExpression.isSameByBind:(Lio/ebeaninternal/api/SpiExpression;)Z
ifeq 4
3: iconst_1
ireturn
StackMap locals: io.ebeaninternal.server.expression.LogicExpression
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/ebeaninternal/server/expression/LogicExpression;
0 5 1 other Lio/ebeaninternal/api/SpiExpression;
1 5 2 that Lio/ebeaninternal/server/expression/LogicExpression;
MethodParameters:
Name Flags
other
}
SourceFile: "LogicExpression.java"
NestMembers:
io.ebeaninternal.server.expression.LogicExpression$And io.ebeaninternal.server.expression.LogicExpression$Or
InnerClasses:
public final Type = io.ebean.Junction$Type of io.ebean.Junction
And = io.ebeaninternal.server.expression.LogicExpression$And of io.ebeaninternal.server.expression.LogicExpression
Or = io.ebeaninternal.server.expression.LogicExpression$Or of io.ebeaninternal.server.expression.LogicExpression