
net.sf.jsqlparser.statement.select.Select Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jsqlparser Show documentation
Show all versions of jsqlparser Show documentation
JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes.
The generated hierarchy can be navigated using the Visitor Pattern.
/*-
* #%L
* JSQLParser library
* %%
* Copyright (C) 2004 - 2019 JSQLParser
* %%
* Dual licensed under GNU LGPL 2.1 or Apache License 2.0
* #L%
*/
package net.sf.jsqlparser.statement.select;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Optional;
import net.sf.jsqlparser.statement.Statement;
import net.sf.jsqlparser.statement.StatementVisitor;
public class Select implements Statement {
private SelectBody selectBody;
private List withItemsList;
@Override
public void accept(StatementVisitor statementVisitor) {
statementVisitor.visit(this);
}
public SelectBody getSelectBody() {
return selectBody;
}
public Select withSelectBody(SelectBody body) {
setSelectBody(body);
return this;
}
public void setSelectBody(SelectBody body) {
selectBody = body;
}
@Override
public String toString() {
StringBuilder retval = new StringBuilder();
if (withItemsList != null && !withItemsList.isEmpty()) {
retval.append("WITH ");
for (Iterator iter = withItemsList.iterator(); iter.hasNext();) {
WithItem withItem = iter.next();
retval.append(withItem);
if (iter.hasNext()) {
retval.append(",");
}
retval.append(" ");
}
}
retval.append(selectBody);
return retval.toString();
}
public List getWithItemsList() {
return withItemsList;
}
public void setWithItemsList(List withItemsList) {
this.withItemsList = withItemsList;
}
public Select withWithItemsList(List withItemsList) {
this.setWithItemsList(withItemsList);
return this;
}
public E getSelectBody(Class type) {
return type.cast(getSelectBody());
}
public Select addWithItemsList(WithItem... withItemsList) {
List collection = Optional.ofNullable(getWithItemsList()).orElseGet(ArrayList::new);
Collections.addAll(collection, withItemsList);
return this.withWithItemsList(collection);
}
public Select addWithItemsList(Collection extends WithItem> withItemsList) {
List collection = Optional.ofNullable(getWithItemsList()).orElseGet(ArrayList::new);
collection.addAll(withItemsList);
return this.withWithItemsList(collection);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy