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}