/* Generated By:JJTree: Do not edit this line. ArrayTable.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 java.util.ArrayList; import java.util.List; import org.teiid.designer.query.sql.lang.IArrayTable; import org.teiid.designer.runtime.version.spi.ITeiidServerVersion; import org.teiid.query.parser.LanguageVisitor; import org.teiid.query.sql.symbol.Expression; /** * */ public class ArrayTable extends TableFunctionReference implements IArrayTable<LanguageVisitor> { private Expression arrayValue; private List<ProjectedColumn> columns = new ArrayList<ProjectedColumn>(); /** * @param p * @param id */ public ArrayTable(ITeiidServerVersion p, int id) { super(p, id); } /** * @return columns */ public List<ProjectedColumn> getColumns() { return columns; } /** * @param columns */ public void setColumns(List<ProjectedColumn> columns) { this.columns = columns; } /** * @return array value */ public Expression getArrayValue() { return arrayValue; } /** * @param arrayValue */ public void setArrayValue(Expression arrayValue) { this.arrayValue = arrayValue; } @Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + ((this.arrayValue == null) ? 0 : this.arrayValue.hashCode()); result = prime * result + ((this.columns == null) ? 0 : this.columns.hashCode()); 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; ArrayTable other = (ArrayTable)obj; if (this.arrayValue == null) { if (other.arrayValue != null) return false; } else if (!this.arrayValue.equals(other.arrayValue)) return false; if (this.columns == null) { if (other.columns != null) return false; } else if (!this.columns.equals(other.columns)) return false; return true; } /** Accept the visitor. **/ @Override public void acceptVisitor(LanguageVisitor visitor) { visitor.visit(this); } @Override public ArrayTable clone() { ArrayTable clone = new ArrayTable(getTeiidVersion(), this.id); if(getColumns() != null) clone.setColumns(cloneList(getColumns())); if(getArrayValue() != null) clone.setArrayValue(getArrayValue().clone()); if(getName() != null) clone.setName(getName()); clone.setOptional(isOptional()); clone.setMakeInd(getMakeInd()); clone.setNoUnnest(isNoUnnest()); clone.setMakeDep(isMakeDep()); clone.setMakeNotDep(isMakeNotDep()); clone.setPreserve(isPreserve()); return clone; } } /* JavaCC - OriginalChecksum=f81b782039749259c07b9501cb43adbf (do not edit this line) */