/*
* Copyright Aduna (http://www.aduna-software.com/) (c) 1997-2006.
*
* Licensed under the Aduna BSD-style license.
*/
package org.openrdf.query.parser.serql.ast;
import java.util.ArrayList;
import java.util.List;
public class ASTQueryBody extends SimpleNode {
public ASTQueryBody(int id) {
super(id);
}
public ASTQueryBody(SyntaxTreeBuilder p, int id) {
super(p, id);
}
@Override
public Object jjtAccept(SyntaxTreeBuilderVisitor visitor, Object data)
throws VisitorException
{
return visitor.visit(this, data);
}
public List<ASTFrom> getFromClauseList() {
List<ASTFrom> fromClauseList = new ArrayList<ASTFrom>(children.size());
for (Node n : children) {
if (n instanceof ASTFrom) {
fromClauseList.add((ASTFrom)n);
}
else {
break;
}
}
return fromClauseList;
}
public boolean hasWhereClause() {
return getWhereClause() != null;
}
public ASTWhere getWhereClause() {
for (Node n : children) {
if (n instanceof ASTWhere) {
return (ASTWhere)n;
}
}
return null;
}
public boolean hasLimitClause() {
return getLimitClause() != null;
}
public ASTLimit getLimitClause() {
for (Node n : children) {
if (n instanceof ASTLimit) {
return (ASTLimit)n;
}
}
return null;
}
public boolean hasOffsetClause() {
return getOffsetClause() != null;
}
public ASTOffset getOffsetClause() {
for (Node n : children) {
if (n instanceof ASTOffset) {
return (ASTOffset)n;
}
}
return null;
}
}