/* Generated By:JJTree: Do not edit this line. Limit.java Version 4.3 */ /* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=false,NODE_PREFIX=,NODE_EXTENDS=,NODE_FACTORY=,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ package org.teiid.query.sql.lang; import org.teiid.designer.query.sql.lang.ILimit; import org.teiid.designer.runtime.version.spi.ITeiidServerVersion; import org.teiid.query.parser.LanguageVisitor; import org.teiid.query.sql.symbol.Expression; /** * */ public class Limit extends SimpleNode implements ILimit<LanguageVisitor> { /** * Non Strict token */ public static String NON_STRICT = "NON_STRICT"; //$NON-NLS-1$ private Expression offset; private Expression rowLimit; private boolean implicit; private boolean strict = true; /** * @param p * @param id */ public Limit(ITeiidServerVersion p, int id) { super(p, id); } /** * @param strict */ public void setStrict(boolean strict) { this.strict = strict; } /** * @return strict */ public boolean isStrict() { return strict; } /** * @return implicit */ public boolean isImplicit() { return implicit; } /** * @param implicit */ public void setImplicit(boolean implicit) { this.implicit = implicit; } /** * @return offset */ public Expression getOffset() { return offset; } /** * @param offset */ public void setOffset(Expression offset) { this.offset = offset; } /** * @return row limit */ public Expression getRowLimit() { return rowLimit; } /** * @param rowLimit */ public void setRowLimit(Expression rowLimit ) { this.rowLimit = rowLimit; } @Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + (this.implicit ? 1231 : 1237); result = prime * result + ((this.offset == null) ? 0 : this.offset.hashCode()); result = prime * result + ((this.rowLimit == null) ? 0 : this.rowLimit.hashCode()); result = prime * result + (this.strict ? 1231 : 1237); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (!super.equals(obj)) return false; if (getClass() != obj.getClass()) return false; Limit other = (Limit)obj; if (this.implicit != other.implicit) return false; if (this.offset == null) { if (other.offset != null) return false; } else if (!this.offset.equals(other.offset)) return false; if (this.rowLimit == null) { if (other.rowLimit != null) return false; } else if (!this.rowLimit.equals(other.rowLimit)) return false; if (this.strict != other.strict) return false; return true; } /** Accept the visitor. **/ @Override public void acceptVisitor(LanguageVisitor visitor) { visitor.visit(this); } @Override public Limit clone() { Limit clone = new Limit(getTeiidVersion(), this.id); clone.setStrict(isStrict()); clone.setImplicit(isImplicit()); if(getRowLimit() != null) clone.setRowLimit(getRowLimit().clone()); if(getOffset() != null) clone.setOffset(getOffset().clone()); return clone; } } /* JavaCC - OriginalChecksum=ac356bcb126e51b23a771bf5e2b89dfc (do not edit this line) */