
org.joo.libra.sql.SqlVisitor Maven / Gradle / Ivy
package org.joo.libra.sql;
import java.text.NumberFormat;
import java.text.ParseException;
import org.joo.libra.common.HasValue;
import org.joo.libra.sql.antlr.SqlParser;
import org.joo.libra.sql.antlr.SqlParserBaseVisitor;
import org.joo.libra.sql.node.AndExpressionNode;
import org.joo.libra.sql.node.BooleanExpressionNode;
import org.joo.libra.sql.node.ConditionalExpressionNode;
import org.joo.libra.sql.node.ContainsCompareExpressionNode;
import org.joo.libra.sql.node.EmptyExpressionNode;
import org.joo.libra.sql.node.ExpressionNode;
import org.joo.libra.sql.node.GenericCompareExpressionNode;
import org.joo.libra.sql.node.InCompareExpressionNode;
import org.joo.libra.sql.node.LexicalCompareExpressionNode;
import org.joo.libra.sql.node.ListExpressionNode;
import org.joo.libra.sql.node.ListItemExpressionNode;
import org.joo.libra.sql.node.MatchingExpressionNode;
import org.joo.libra.sql.node.MathExpressionNode;
import org.joo.libra.sql.node.FunctionExpressionNode;
import org.joo.libra.sql.node.NotExpressionNode;
import org.joo.libra.sql.node.NumberExpressionNode;
import org.joo.libra.sql.node.NumericCompareExpressionNode;
import org.joo.libra.sql.node.ObjectExpressionNode;
import org.joo.libra.sql.node.OrExpressionNode;
import org.joo.libra.sql.node.StringExpressionNode;
import org.joo.libra.sql.node.VariableExpressionNode;
import org.joo.libra.support.exceptions.MalformedSyntaxException;
public class SqlVisitor extends SqlParserBaseVisitor {
@Override
public ExpressionNode visitListMatchingExpr(final SqlParser.ListMatchingExprContext ctx) {
MatchingExpressionNode node = new MatchingExpressionNode();
node.setOp(ctx.op.getType());
node.setCondition(visit(ctx.condition));
node.setIndexName(ctx.indexName.getText());
VariableExpressionNode listVariable = new VariableExpressionNode();
listVariable.setVariableName(ctx.listName.getText());
node.setList(listVariable);
return node;
}
@SuppressWarnings("unchecked")
@Override
public ExpressionNode visitConditionalExpr(final SqlParser.ConditionalExprContext ctx) {
ConditionalExpressionNode node = new ConditionalExpressionNode();
node.setMain(visit(ctx.main));
node.setLeft((HasValue
© 2015 - 2025 Weber Informatics LLC | Privacy Policy