/* * JEF - Copyright 2009-2010 Jiyi (mr.jiyi@gmail.com) * * 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 jef.database.jsqlparser.expression.operators.relational; import java.util.Arrays; import java.util.List; import jef.database.jsqlparser.Util; import jef.database.jsqlparser.statement.select.PlainSelect; import jef.database.jsqlparser.visitor.Expression; import jef.database.jsqlparser.visitor.ExpressionVisitor; import jef.database.jsqlparser.visitor.ItemsList; /** * A list of expressions, as in SELECT A FROM TAB WHERE B IN (expr1,expr2,expr3) */ public class ExpressionList implements ItemsList{ private List<Expression> expressions; private String between=","; public ExpressionList() { } /** * 获得多个参数之间的分隔符 * @return */ public String getBetween() { return between; } public ExpressionList setBetween(String between) { this.between = between; return this; } public int size(){ return expressions.size(); } public boolean isEmpty(){ return expressions==null?true:expressions.isEmpty(); } public ExpressionList(List<Expression> expressions) { this.expressions = expressions; } public ExpressionList(Expression... expression) { this.expressions = Arrays.asList(expression); } public List<Expression> getExpressions() { return expressions; } public Expression get(int i) { return expressions.get(i); } public void setExpressions(List<Expression> list) { expressions = list; } public String toString() { StringBuilder sb=new StringBuilder(); Util.getStringList(sb,expressions, between, true); return sb.toString(); } public void appendTo(StringBuilder sb) { Util.getStringList(sb,expressions, between, true); } public void accept(ExpressionVisitor itemsListVisitor) { itemsListVisitor.visit(this); } }