package org.fugazi.ql.ast.form.form_data.visitor;
import org.fugazi.ql.ast.form.Form;
import org.fugazi.ql.ast.statement.IfStatement;
import org.fugazi.ql.ast.statement.Statement;
import java.util.ArrayList;
import java.util.List;
public class IfStatementsVisitor extends StatementsVisitor {
private List<IfStatement> statements;
public IfStatementsVisitor(Form _form) {
super(_form);
}
/**
* =======================
* Visitor methods
* =======================
*/
@Override
public Void visitIfStatement(IfStatement ifStatement) {
this.saveIfStatement(ifStatement);
List<Statement> statementList = ifStatement.getBody();
for (Statement statement : statementList) {
statement.accept(this);
}
return null;
}
/**
* =======================
* Private data handling functions
* =======================
*/
private void saveIfStatement(IfStatement statement) {
this.statements.add(statement);
}
/**
* =======================
* Exposed methods
* =======================
*/
public List<IfStatement> getIfStatement() {
if (this.statements == null) {
this.statements = new ArrayList<>();
this.visitForm();
}
return this.statements;
}
}