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}