001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.EDbObjectType;
004import gudusoft.gsqlparser.ESqlClause;
005import gudusoft.gsqlparser.TCustomSqlStatement;
006/*
007 * Date: 2010-10-8
008 * Time: 16:34:23
009 */
010
011
012public class TViewAliasItem extends TParseTreeNode {
013
014   public TObjectName getComment(){
015       if (commentOption == null) return null;
016       return commentOption.getComment();
017   }
018
019    public void setCommentOption(TCreateTableOption commentOption) {
020        this.commentOption = commentOption;
021    }
022
023    public void setOptionByDummy(TDummy dummy) {
024       if (dummy == null) return;
025       this.commentOption = (TCreateTableOption) dummy.node1;
026    }
027
028
029    private TCreateTableOption commentOption;
030
031
032  private TObjectName alias = null;
033  private TConstraint tableConstraint = null;
034  private TConstraintList columnConstraintList = null;
035
036    public TObjectName getAlias() {
037        return alias;
038    }
039
040    public TConstraintList getColumnConstraintList() {
041        return columnConstraintList;
042    }
043
044    public TConstraint getTableConstraint() {
045        return tableConstraint;
046    }
047
048    public void init(Object arg1,Object arg2)
049    {
050        if (arg1 != null){
051           this.alias  = (TObjectName)arg1;
052           
053          // this.alias.setObjectType(TObjectName.ttobjAliasName);
054           this.alias.setDbObjectType(EDbObjectType.alias);
055        }
056
057        if (arg2 != null){
058            if (arg2 instanceof TConstraint){
059                this.tableConstraint = (TConstraint)arg2;
060            }else if (arg2 instanceof TConstraintList){
061                this.columnConstraintList = (TConstraintList)arg2;
062            }
063        }
064    }
065
066    public void doParse(TCustomSqlStatement psql, ESqlClause plocation){
067
068        if (this.tableConstraint != null){
069            this.tableConstraint.doParse(psql,plocation);
070        }else if (this.columnConstraintList != null){
071            this.columnConstraintList.doParse(psql,plocation);
072        }
073        
074    }
075
076    public void accept(TParseTreeVisitor v){
077        v.preVisit(this);
078        v.postVisit(this);
079    }
080
081    public void acceptChildren(TParseTreeVisitor v){
082        v.preVisit(this);
083        v.postVisit(this);
084    }
085
086    public void setAlias(TObjectName alias) {
087        this.alias = alias;
088    }
089
090    public void setTableConstraint(TConstraint tableConstraint) {
091        this.tableConstraint = tableConstraint;
092    }
093
094    public void setColumnConstraintList(TConstraintList columnConstraintList) {
095        this.columnConstraintList = columnConstraintList;
096    }
097}