/* Generated By:JJTree: Do not edit this line. XMLColumn.java Version 4.3 */ /* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=false,NODE_PREFIX=,NODE_EXTENDS=,NODE_FACTORY=TeiidNodeFactory,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ package org.teiid.query.sql.lang; import org.teiid.designer.query.sql.lang.IXMLColumn; import org.teiid.designer.runtime.version.spi.ITeiidServerVersion; import org.teiid.query.parser.LanguageVisitor; import org.teiid.query.sql.symbol.Expression; import net.sf.saxon.sxpath.XPathExpression; /** * */ public class XMLColumn extends ProjectedColumn implements IXMLColumn<LanguageVisitor> { private String path; private Expression defaultExpression; private boolean ordinal; private XPathExpression pathExpression; /** * @param p * @param id */ public XMLColumn(ITeiidServerVersion p, int id) { super(p, id); } /** * @return the path */ public String getPath() { return this.path; } /** * @param path the path to set */ public void setPath(String path) { this.path = path; } /** * @return the defaultExpression */ public Expression getDefaultExpression() { return this.defaultExpression; } /** * @param defaultExpression the defaultExpression to set */ public void setDefaultExpression(Expression defaultExpression) { this.defaultExpression = defaultExpression; } /** * @return ordinal */ public boolean isOrdinal() { return ordinal; } /** * @param ordinal */ public void setOrdinal(boolean ordinal) { this.ordinal = ordinal; } /** * @return xpath expression */ public XPathExpression getPathExpression() { return pathExpression; } /** * @param pathExpression */ public void setPathExpression(XPathExpression pathExpression) { this.pathExpression = pathExpression; } @Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + ((this.defaultExpression == null) ? 0 : this.defaultExpression.hashCode()); result = prime * result + ((this.pathExpression == null) ? 0 : this.pathExpression.hashCode()); result = prime * result + (this.ordinal ? 1231 : 1237); result = prime * result + ((this.path == null) ? 0 : this.path.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; XMLColumn other = (XMLColumn)obj; if (this.defaultExpression == null) { if (other.defaultExpression != null) return false; } else if (!this.defaultExpression.equals(other.defaultExpression)) return false; if (this.pathExpression == null) { if (other.pathExpression != null) return false; } else if (!this.pathExpression.equals(other.pathExpression)) return false; if (this.ordinal != other.ordinal) return false; if (this.path == null) { if (other.path != null) return false; } else if (!this.path.equals(other.path)) return false; return true; } /** Accept the visitor. **/ @Override public void acceptVisitor(LanguageVisitor visitor) { visitor.visit(this); } @Override public XMLColumn clone() { XMLColumn clone = new XMLColumn(getTeiidVersion(), this.id); if(getPath() != null) clone.setPath(getPath()); if(getDefaultExpression() != null) clone.setDefaultExpression(getDefaultExpression().clone()); if(getPathExpression() != null) clone.setPathExpression(getPathExpression()); clone.setOrdinal(isOrdinal()); if(getName() != null) clone.setName(getName()); if(getType() != null) clone.setType(getType()); return clone; } } /* JavaCC - OriginalChecksum=2ac7d3dfcbd0e5f01fce2573443ce51f (do not edit this line) */