/** * Alipay.com Inc. * Copyright (c) 2004-2012 All Rights Reserved. */ package com.alipay.zdal.parser.sql.ast.statement; import java.util.ArrayList; import java.util.List; import com.alipay.zdal.parser.sql.ast.SQLDataType; import com.alipay.zdal.parser.sql.ast.SQLExpr; import com.alipay.zdal.parser.sql.ast.SQLName; import com.alipay.zdal.parser.sql.ast.SQLObjectImpl; import com.alipay.zdal.parser.sql.visitor.SQLASTVisitor; /** * * @author xiaoqing.zhouxq * @version $Id: SQLColumnDefinition.java, v 0.1 2012-11-17 ����3:20:49 xiaoqing.zhouxq Exp $ */ @SuppressWarnings("serial") public class SQLColumnDefinition extends SQLObjectImpl implements SQLTableElement { private SQLName name; private SQLDataType dataType; private SQLExpr defaultExpr; private final List<SQLColumnConstraint> constaints = new ArrayList<SQLColumnConstraint>(0); private String comment; private Boolean enable; public SQLColumnDefinition() { } public Boolean getEnable() { return enable; } public void setEnable(Boolean enable) { this.enable = enable; } public SQLName getName() { return name; } public void setName(SQLName name) { this.name = name; } public SQLDataType getDataType() { return dataType; } public void setDataType(SQLDataType dataType) { this.dataType = dataType; } public SQLExpr getDefaultExpr() { return defaultExpr; } public void setDefaultExpr(SQLExpr defaultExpr) { this.defaultExpr = defaultExpr; } public List<SQLColumnConstraint> getConstaints() { return constaints; } @Override public void output(StringBuffer buf) { name.output(buf); buf.append(' '); this.dataType.output(buf); if (defaultExpr != null) { buf.append(" DEFAULT "); this.defaultExpr.output(buf); } } @Override protected void accept0(SQLASTVisitor visitor) { if (visitor.visit(this)) { this.acceptChild(visitor, name); this.acceptChild(visitor, dataType); this.acceptChild(visitor, defaultExpr); this.acceptChild(visitor, constaints); } visitor.endVisit(this); } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } }