001package gudusoft.gsqlparser.nodes.snowflake;
002
003import gudusoft.gsqlparser.nodes.TObjectName;
004import gudusoft.gsqlparser.nodes.TObjectNameList;
005import gudusoft.gsqlparser.nodes.TParseTreeNode;
006
007/**
008 * Semantic relationship definition node.
009 * Represents: [name:] table (col) REFERENCES parent_table
010 */
011public class TSemanticRelationshipDef extends TParseTreeNode {
012
013    private TObjectName relationshipName;
014    private TObjectName sourceTable;
015    private TObjectNameList sourceColumns;
016    private TObjectName targetTable;
017
018    public TObjectName getRelationshipName() {
019        return relationshipName;
020    }
021
022    public void setRelationshipName(TObjectName relationshipName) {
023        this.relationshipName = relationshipName;
024    }
025
026    public TObjectName getSourceTable() {
027        return sourceTable;
028    }
029
030    public void setSourceTable(TObjectName sourceTable) {
031        this.sourceTable = sourceTable;
032    }
033
034    public TObjectNameList getSourceColumns() {
035        return sourceColumns;
036    }
037
038    public void setSourceColumns(TObjectNameList sourceColumns) {
039        this.sourceColumns = sourceColumns;
040    }
041
042    public TObjectName getTargetTable() {
043        return targetTable;
044    }
045
046    public void setTargetTable(TObjectName targetTable) {
047        this.targetTable = targetTable;
048    }
049
050    public void init(Object arg1) {
051        // Initialize from parser
052    }
053
054    public void init(Object arg1, Object arg2) {
055        // Initialize from parser with additional args
056    }
057}