001package gudusoft.gsqlparser.dlineage.dataflow.model.xml; 002 003import javax.xml.bind.annotation.XmlAttribute; 004import javax.xml.bind.annotation.XmlType; 005 006import gudusoft.gsqlparser.util.SQLUtil; 007 008@XmlType(propOrder = { "id", "name" }) 009public class candidateTable { 010 011 private String id; 012 013 private String name; 014 015 @XmlAttribute(required = false) 016 public String getId() { 017 return id; 018 } 019 020 public void setId(String id) { 021 this.id = id; 022 } 023 024 @XmlAttribute(required = false) 025 public String getName() { 026 return name; 027 } 028 029 public void setName(String name) { 030 this.name = name; 031 } 032 033 @Override 034 public int hashCode() { 035 final int prime = 31; 036 int result = 1; 037 result = prime * result + ((id == null) ? 0 : id.hashCode()); 038 result = prime * result + ((name == null) ? 0 : name.hashCode()); 039 return result; 040 } 041 042 @Override 043 public boolean equals(Object obj) { 044 if (this == obj) 045 return true; 046 if (obj == null) 047 return false; 048 if (getClass() != obj.getClass()) 049 return false; 050 candidateTable other = (candidateTable) obj; 051 if (id == null) { 052 if (other.id != null) 053 return false; 054 } else if (!id.equals(other.id)) 055 return false; 056 if (name == null) { 057 if (other.name != null) 058 return false; 059 } else if (!name.equals(other.name)) 060 return false; 061 return true; 062 } 063 064 public String toDedupKey() { 065 StringBuilder sb = new StringBuilder(32); 066 appendDedupKey(sb); 067 return sb.toString(); 068 } 069 070 public long toDedupHash() { 071 StringBuilder sb = new StringBuilder(32); 072 appendDedupKey(sb); 073 return SQLUtil.hash64(sb); 074 } 075 076 void appendDedupKey(StringBuilder sb) { 077 if (name != null) { sb.append("name=").append(name).append('|'); } 078 } 079 080}