001package gudusoft.gsqlparser.dlineage.dataflow.model.xml;
002
003import javax.xml.bind.annotation.XmlAttribute;
004import javax.xml.bind.annotation.XmlTransient;
005import javax.xml.bind.annotation.XmlType;
006
007import gudusoft.gsqlparser.dlineage.dataflow.model.ModelBindingManager;
008import gudusoft.gsqlparser.util.SQLUtil;
009
010@XmlType(propOrder = { "id", "name", "column", "function", "target_id", "target_name", "parent_id", "parent_name", "parent_alias", "coordinate",
011                "source", "type"})
012public class targetColumn {
013
014        private String id;
015        
016        private String name;
017
018        private String column;
019
020        private String function;
021
022        private String target_id;
023
024        private String target_name;
025
026        private String parent_id;
027
028        private String parent_name;
029        
030        private String parent_alias;
031
032        private String coordinate;
033
034        private String source;
035        
036        private String type;
037        
038        @XmlTransient
039        private Boolean struct;
040
041        @XmlAttribute(required = false)
042        public String getCoordinate() {
043//              if (ModelBindingManager.getGlobalOption()!=null && ModelBindingManager.getGlobalOption().isIgnoreCoordinate()) {
044//                      return null;
045//              }
046                return coordinate;
047        }
048
049        public void setCoordinate(String coordinate) {
050//              if (ModelBindingManager.getGlobalOption()!=null && ModelBindingManager.getGlobalOption().isIgnoreCoordinate()) {
051//                      return;
052//              }
053                this.coordinate = coordinate;
054        }
055
056        @XmlAttribute(required = false)
057        public String getColumn() {
058                return column;
059        }
060
061        public void setColumn(String column) {
062                this.column = column;
063        }
064
065        @XmlAttribute(required = false)
066        public String getId() {
067                return id;
068        }
069
070        public void setId(String id) {
071                this.id = id;
072        }
073
074        @XmlAttribute(name="parent_id", required = false)
075        public String getParent_id() {
076                return parent_id;
077        }
078
079        public void setParent_id(String parent_id) {
080                this.parent_id = parent_id;
081        }
082
083        @XmlAttribute(name="parent_name", required = false)
084        public String getParent_name() {
085                return parent_name;
086        }
087
088        public void setParent_name(String parent_name) {
089                this.parent_name = parent_name;
090        }
091        
092        @XmlAttribute(name="parent_alias", required = false)
093        public String getParent_alias() {
094                return parent_alias;
095        }
096
097        public void setParent_alias(String parent_alias) {
098                this.parent_alias = parent_alias;
099        }
100
101        @XmlAttribute(required = false)
102        public String getFunction() {
103                return function;
104        }
105
106        public void setFunction(String function) {
107                this.function = function;
108        }
109
110        @XmlAttribute(name="target_id", required = false)
111        public String getTarget_id() {
112                return target_id;
113        }
114
115        public void setTarget_id(String target_id) {
116                this.target_id = target_id;
117        }
118
119        @XmlAttribute(name="target_name", required = false)
120        public String getTarget_name() {
121                return target_name;
122        }
123
124        public void setTarget_name(String target_name) {
125                this.target_name = target_name;
126        }
127
128        @XmlAttribute(required = false)
129        public String getSource() {
130                return source;
131        }
132
133        public void setSource(String source) {
134                this.source = source;
135        }
136        
137        @XmlAttribute(required = false)
138        public String getType() {
139                return type;
140        }
141
142        public void setType(String type) {
143                this.type = type;
144        }
145
146        @XmlAttribute(required = false)
147        public String getName() {
148                return name;
149        }
150
151        public void setName(String name) {
152                this.name = name;
153        }
154
155        @XmlTransient
156        public Boolean isStruct() {
157                return struct;
158        }
159
160        public void setStruct(Boolean struct) {
161                this.struct = struct;
162        }
163
164        public String toDedupKey() {
165                StringBuilder sb = new StringBuilder(128);
166                appendDedupKey(sb);
167                return sb.toString();
168        }
169
170        public long toDedupHash() {
171                StringBuilder sb = new StringBuilder(128);
172                appendDedupKey(sb);
173                return SQLUtil.hash64(sb);
174        }
175
176        void appendDedupKey(StringBuilder sb) {
177                if (name != null) { sb.append("name=").append(name).append('|'); }
178                if (column != null) { sb.append("column=").append(column).append('|'); }
179                if (parent_id != null) { sb.append("parent_id=").append(parent_id).append('|'); }
180                if (function != null) { sb.append("function=").append(function).append('|'); }
181                if (target_id != null) { sb.append("target_id=").append(target_id).append('|'); }
182                if (target_name != null) { sb.append("target_name=").append(target_name).append('|'); }
183                if (parent_name != null) { sb.append("parent_name=").append(parent_name).append('|'); }
184                if (parent_alias != null) { sb.append("parent_alias=").append(parent_alias).append('|'); }
185                if (coordinate != null) { sb.append("coordinate=").append(coordinate).append('|'); }
186                if (source != null) { sb.append("source=").append(source).append('|'); }
187                if (type != null) { sb.append("type=").append(type).append('|'); }
188        }
189}