/* * Copyright (c) 2011-2015 EPFL DATA Laboratory * Copyright (c) 2014-2015 The Squall Collaboration (see NOTICE) * * All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ch.epfl.data.squall.api.sql.estimators; import net.sf.jsqlparser.expression.AllComparisonExpression; import net.sf.jsqlparser.expression.AnyComparisonExpression; import net.sf.jsqlparser.expression.CaseExpression; import net.sf.jsqlparser.expression.DateValue; import net.sf.jsqlparser.expression.DoubleValue; import net.sf.jsqlparser.expression.ExpressionVisitor; import net.sf.jsqlparser.expression.Function; import net.sf.jsqlparser.expression.InverseExpression; import net.sf.jsqlparser.expression.JdbcParameter; import net.sf.jsqlparser.expression.LongValue; import net.sf.jsqlparser.expression.NullValue; import net.sf.jsqlparser.expression.Parenthesis; import net.sf.jsqlparser.expression.StringValue; import net.sf.jsqlparser.expression.TimeValue; import net.sf.jsqlparser.expression.TimestampValue; import net.sf.jsqlparser.expression.WhenClause; import net.sf.jsqlparser.expression.operators.arithmetic.Addition; import net.sf.jsqlparser.expression.operators.arithmetic.BitwiseAnd; import net.sf.jsqlparser.expression.operators.arithmetic.BitwiseOr; import net.sf.jsqlparser.expression.operators.arithmetic.BitwiseXor; import net.sf.jsqlparser.expression.operators.arithmetic.Concat; import net.sf.jsqlparser.expression.operators.arithmetic.Division; import net.sf.jsqlparser.expression.operators.arithmetic.Multiplication; import net.sf.jsqlparser.expression.operators.arithmetic.Subtraction; import net.sf.jsqlparser.expression.operators.conditional.AndExpression; import net.sf.jsqlparser.expression.operators.conditional.OrExpression; import net.sf.jsqlparser.expression.operators.relational.Between; import net.sf.jsqlparser.expression.operators.relational.EqualsTo; import net.sf.jsqlparser.expression.operators.relational.ExistsExpression; import net.sf.jsqlparser.expression.operators.relational.GreaterThan; import net.sf.jsqlparser.expression.operators.relational.GreaterThanEquals; import net.sf.jsqlparser.expression.operators.relational.InExpression; import net.sf.jsqlparser.expression.operators.relational.IsNullExpression; import net.sf.jsqlparser.expression.operators.relational.LikeExpression; import net.sf.jsqlparser.expression.operators.relational.Matches; import net.sf.jsqlparser.expression.operators.relational.MinorThan; import net.sf.jsqlparser.expression.operators.relational.MinorThanEquals; import net.sf.jsqlparser.expression.operators.relational.NotEqualsTo; import net.sf.jsqlparser.schema.Column; import net.sf.jsqlparser.statement.select.SubSelect; /* * this class extracts Java types objects out of JSQL wrapper objects */ public class JSQLTypeConverter implements ExpressionVisitor { private Object _result; public Object getResult() { return _result; } @Override public void visit(Addition adtn) { } @Override public void visit(AllComparisonExpression ace) { } @Override public void visit(AndExpression ae) { } @Override public void visit(AnyComparisonExpression ace) { } @Override public void visit(Between btwn) { } @Override public void visit(BitwiseAnd ba) { } @Override public void visit(BitwiseOr bo) { } @Override public void visit(BitwiseXor bx) { } @Override public void visit(CaseExpression ce) { } @Override public void visit(Column column) { } @Override public void visit(Concat concat) { } @Override public void visit(DateValue dv) { _result = dv.getValue(); } @Override public void visit(Division dvsn) { } @Override public void visit(DoubleValue dv) { _result = dv.getValue(); } @Override public void visit(EqualsTo et) { } @Override public void visit(ExistsExpression ee) { } @Override public void visit(Function fnctn) { } @Override public void visit(GreaterThan gt) { } @Override public void visit(GreaterThanEquals gte) { } @Override public void visit(InExpression ie) { } @Override public void visit(InverseExpression ie) { } @Override public void visit(IsNullExpression ine) { } @Override public void visit(JdbcParameter jp) { } @Override public void visit(LikeExpression le) { } @Override public void visit(LongValue lv) { _result = lv.getValue(); } @Override public void visit(Matches mtchs) { } @Override public void visit(MinorThan mt) { } @Override public void visit(MinorThanEquals mte) { } @Override public void visit(Multiplication m) { } @Override public void visit(NotEqualsTo net) { } // any of these keeps _result = null @Override public void visit(NullValue nv) { } @Override public void visit(OrExpression oe) { } @Override public void visit(Parenthesis prnths) { } @Override public void visit(StringValue sv) { _result = sv.getValue(); } @Override public void visit(SubSelect ss) { } @Override public void visit(Subtraction s) { } @Override public void visit(TimestampValue tv) { } @Override public void visit(TimeValue tv) { } @Override public void visit(WhenClause wc) { } }