001package gudusoft.gsqlparser.nodes.snowflake; 002 003import gudusoft.gsqlparser.nodes.TConstant; 004import gudusoft.gsqlparser.nodes.TExpression; 005import gudusoft.gsqlparser.nodes.TObjectName; 006import gudusoft.gsqlparser.nodes.TObjectNameList; 007import gudusoft.gsqlparser.nodes.TParseTreeNode; 008 009/** 010 * Semantic attribute definition node (for Facts, Dimensions, Metrics). 011 * Represents: [PUBLIC|PRIVATE] table.attr_name AS expression [WITH SYNONYMS (...)] [COMMENT 'text'] 012 */ 013public class TSemanticAttributeDef extends TParseTreeNode { 014 015 private boolean isPrivate; 016 private TObjectName qualifiedName; 017 private TExpression expression; 018 private TObjectNameList synonyms; 019 private TConstant comment; 020 021 public boolean isPrivate() { 022 return isPrivate; 023 } 024 025 public void setPrivate(boolean isPrivate) { 026 this.isPrivate = isPrivate; 027 } 028 029 public TObjectName getQualifiedName() { 030 return qualifiedName; 031 } 032 033 public void setQualifiedName(TObjectName qualifiedName) { 034 this.qualifiedName = qualifiedName; 035 } 036 037 public TExpression getExpression() { 038 return expression; 039 } 040 041 public void setExpression(TExpression expression) { 042 this.expression = expression; 043 } 044 045 public TObjectNameList getSynonyms() { 046 return synonyms; 047 } 048 049 public void setSynonyms(TObjectNameList synonyms) { 050 this.synonyms = synonyms; 051 } 052 053 public TConstant getComment() { 054 return comment; 055 } 056 057 public void setComment(TConstant comment) { 058 this.comment = comment; 059 } 060 061 public void init(Object arg1) { 062 // Initialize from parser 063 } 064 065 public void init(Object arg1, Object arg2) { 066 // Initialize from parser with additional args 067 } 068}