package com.jthink.skyeye.base.sql;
import com.jthink.skyeye.base.constant.Constants;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* JThink@JThink
*
* @author JThink
* @version 0.0.1
* @desc where子句, 复合条件的组合
* @date 2016-11-29 21:10:31
*/
public class Where implements Serializable {
private static final long serialVersionUID = 1L;
// 条件
private List<Condition> conditions;
public void addCondition(Condition condition) {
if (this.conditions == null) {
this.conditions = new ArrayList<Condition>();
}
this.conditions.add(condition);
}
@Override
public String toString() {
if ((this.conditions == null || this.conditions.isEmpty())) {
// 没有条件
return Constants.EMPTY_STR;
}
StringBuffer sb = new StringBuffer();
sb.append("WHERE ");
if (this.conditions != null) {
sb.append(Constants.LEFT_S_BRACKETS).append(this.conditions.get(0).toString());
for(int i = 1; i < this.conditions.size(); i++) {
if (Constants.OR.equals(this.conditions.get(i).getFlag())) {
sb.append(Constants.OR_SPACE).append(this.conditions.get(i).toString());
} else {
sb.append(Constants.AND_SPACE).append(this.conditions.get(i).toString());
}
}
sb.append(Constants.RIGHT_S_BRACKETS);
}
return sb.toString();
}
public List<Condition> getConditions() {
return conditions;
}
public void setConditions(List<Condition> conditions) {
this.conditions = conditions;
}
}