net.hasor.db.jsqlparser.expression.OracleHierarchicalExpression Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hasor-db Show documentation
Show all versions of hasor-db Show documentation
the hasor DataBase project.
/*-
* #%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.expression;
import net.sf.jsqlparser.parser.ASTNodeAccessImpl;
public class OracleHierarchicalExpression extends ASTNodeAccessImpl implements Expression {
private Expression startExpression;
private Expression connectExpression;
private boolean noCycle = false;
boolean connectFirst = false;
public Expression getStartExpression() {
return startExpression;
}
public void setStartExpression(Expression startExpression) {
this.startExpression = startExpression;
}
public Expression getConnectExpression() {
return connectExpression;
}
public void setConnectExpression(Expression connectExpression) {
this.connectExpression = connectExpression;
}
public boolean isNoCycle() {
return noCycle;
}
public void setNoCycle(boolean noCycle) {
this.noCycle = noCycle;
}
public boolean isConnectFirst() {
return connectFirst;
}
public void setConnectFirst(boolean connectFirst) {
this.connectFirst = connectFirst;
}
@Override
public void accept(ExpressionVisitor expressionVisitor) {
expressionVisitor.visit(this);
}
@Override
public String toString() {
StringBuilder b = new StringBuilder();
if (isConnectFirst()) {
b.append(" CONNECT BY ");
if (isNoCycle()) {
b.append("NOCYCLE ");
}
b.append(connectExpression.toString());
if (startExpression != null) {
b.append(" START WITH ").append(startExpression.toString());
}
} else {
if (startExpression != null) {
b.append(" START WITH ").append(startExpression.toString());
}
b.append(" CONNECT BY ");
if (isNoCycle()) {
b.append("NOCYCLE ");
}
b.append(connectExpression.toString());
}
return b.toString();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy