package com.alibaba.druid.sql.dialect.postgresql.ast.stmt.alterTable;

import com.alibaba.druid.sql.ast.SQLExpr;
import com.alibaba.druid.sql.ast.statement.SQLAlterTableItem;
import com.alibaba.druid.sql.dialect.postgresql.ast.PGSQLObjectImpl;
import com.alibaba.druid.sql.dialect.postgresql.visitor.PGASTVisitor;

public class PGAlterTableRenameColumn extends PGSQLObjectImpl implements SQLAlterTableItem {
   private SQLExpr col;
   private SQLExpr to;

   public void accept0(PGASTVisitor visitor) {
      if (visitor.visit(this)) {
         this.acceptChild(visitor, this.col);
         this.acceptChild(visitor, this.to);
      }

      visitor.endVisit(this);
   }

   public SQLExpr getCol() {
      return this.col;
   }

   public void setCol(SQLExpr col) {
      col.setParent(this);
      this.col = col;
   }

   public SQLExpr getTo() {
      return this.to;
   }

   public void setTo(SQLExpr to) {
      to.setParent(this);
      this.to = to;
   }

   public PGAlterTableRenameColumn clone() {
      PGAlterTableRenameColumn c = new PGAlterTableRenameColumn();
      c.setTo(this.to.clone());
      c.setCol(this.col.clone());
      return c;
   }
}
