001package gudusoft.gsqlparser.nodes; 002 003public class TCreateTypeSqlNode extends TParseTreeNode{ 004 005 public enum ECreateTypeKind { 006 composite, // CREATE TYPE name AS (col type, ...) 007 enumType, // CREATE TYPE name AS ENUM ('val', ...) 008 rangeType, // CREATE TYPE name AS RANGE (subtype = ..., ...) 009 baseType, // CREATE TYPE name (INPUT = ..., OUTPUT = ..., ...) 010 shellType // CREATE TYPE name (no body) 011 } 012 013 private TObjectName typeName; 014 private TColumnDefinitionList attributeList; 015 private ECreateTypeKind createTypeKind = ECreateTypeKind.composite; 016 017 public TObjectName getTypeName() { 018 return typeName; 019 } 020 021 public TColumnDefinitionList getAttributeList() { 022 return attributeList; 023 } 024 025 public ECreateTypeKind getCreateTypeKind() { 026 return createTypeKind; 027 } 028 029 public void init(Object arg1){ 030 this.typeName = (TObjectName)arg1; 031 } 032 033 public void init(Object arg1, Object arg2){ 034 this.typeName = (TObjectName)arg1; 035 this.attributeList = (TColumnDefinitionList)arg2; 036 } 037 038 public void init(Object arg1, Object arg2, Object arg3){ 039 this.typeName = (TObjectName)arg1; 040 this.createTypeKind = (ECreateTypeKind)arg2; 041 } 042}