package net.iplantevin.ql.ast.form; import net.iplantevin.ql.ast.ASTNode; import net.iplantevin.ql.ast.LineInfo; import net.iplantevin.ql.ast.visitors.IASTVisitor; import java.util.List; /** * Root of a Questionnaire Language AST (QLAST). Contains a list of Form objects. * * @author Ivan */ public class FormCollection extends ASTNode { private List<Form> forms; public FormCollection(List<Form> forms, LineInfo lineInfo) { super(lineInfo); this.forms = forms; } public List<Form> getForms() { return forms; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; FormCollection that = (FormCollection) o; if (!forms.equals(that.forms)) return false; return true; } @Override public int hashCode() { return forms.hashCode(); } @Override public String toString() { String formCollection = ""; for (Form form : forms) { formCollection += form.toString() + "\n"; } return formCollection; } public <T> T accept(IASTVisitor<T> visitor) { return visitor.visit(this); } }