java expression 用法_Java ExpressionList.getExpressions方法代碼示例

import net.sf.jsqlparser.expression.operators.relational.ExpressionList; //導入方法依賴的package包/類

public static CompiledInExpression create(InExpression in, String validatedTableAlias) {

if (in.getLeftItemsList() != null) {

throw new StatementExecutionException("Unsupported operand " + in.getClass() + " with a non-expression left argument (" + in + ")");

}

CompiledSQLExpression left = compileExpression(validatedTableAlias, in.getLeftExpression());

if (left == null) {

return null;

}

if (in.getRightItemsList() instanceof ExpressionList) {

List expList = new ArrayList<>();

ExpressionList exps = (ExpressionList) in.getRightItemsList();

for (Expression exp : exps.getExpressions()) {

CompiledSQLExpression newExp = compileExpression(validatedTableAlias, exp);

if (newExp == null) {

return null;

}

expList.add(newExp);

}

return new CompiledInExpression(in.isNot(), left, expList, null);

}

if (in.getRightItemsList() instanceof SubSelect) {

SubSelect ss = (SubSelect) in.getRightItemsList();

if (!(ss.getSelectBody() instanceof PlainSelect)) {

throw new StatementExecutionException("unsupported operand " + in.getClass()

+ " with subquery of type " + ss.getClass() + "(" + ss + ")");

}

return new CompiledInExpression(in.isNot(), left, null, ss);

}

throw new StatementExecutionException("unsupported operand " + in.getClass()

+ " with argument of type " + in.getRightItemsList().getClass() + "(" + in + ")");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值