001package gudusoft.gsqlparser.nodes.teradata; 002 003import gudusoft.gsqlparser.nodes.TConstraint; 004import gudusoft.gsqlparser.nodes.TDatatypeAttribute; 005import gudusoft.gsqlparser.nodes.TParseTreeNode; 006import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 007 008public class TDataDefinition extends TParseTreeNode { 009 public enum EDataDefinitionType {columnConstraint,dataAttribute,columnStorage}; 010 011 private EDataDefinitionType dataDefinitionType; 012 013 private TConstraint columnConstraint; 014 private TDatatypeAttribute datatypeAttribute; 015 private TColumnStorage columnStorage; 016 017 public EDataDefinitionType getDataDefinitionType() { 018 return dataDefinitionType; 019 } 020 021 public TConstraint getColumnConstraint() { 022 return columnConstraint; 023 } 024 025 public TDatatypeAttribute getDatatypeAttribute() { 026 return datatypeAttribute; 027 } 028 029 public TColumnStorage getColumnStorage() { 030 return columnStorage; 031 } 032 033 public void init(Object arg1, Object arg2){ 034 dataDefinitionType = (EDataDefinitionType)arg1; 035 switch (dataDefinitionType){ 036 case columnConstraint: 037 columnConstraint = (TConstraint)arg2; 038 break; 039 case dataAttribute: 040 datatypeAttribute = (TDatatypeAttribute)arg2; 041 break; 042 case columnStorage: 043 columnStorage = (TColumnStorage)arg2; 044 break; 045 } 046 } 047 048 public void accept(TParseTreeVisitor v){ 049 v.preVisit(this); 050 v.postVisit(this); 051 } 052 053 public void acceptChildren(TParseTreeVisitor v){ 054 v.preVisit(this); 055 v.postVisit(this); 056 } 057 058}