001package gudusoft.gsqlparser.dlineage.dataflow.model;
002
003import java.util.ArrayList;
004import java.util.List;
005import java.util.Objects;
006
007import gudusoft.gsqlparser.dlineage.util.Pair;
008
009public class DbObjectPosition {
010    private String file;
011    private String filePath;
012    private String sql;
013    private int index;
014    private List<Pair<Integer, Integer>> positions = new ArrayList<Pair<Integer, Integer>>();
015
016        public String getFile() {
017        return file;
018    }
019
020    public void setFile(String file) {
021        this.file = file;
022    }
023
024    public String getSql() {
025        return sql;
026    }
027
028    public void setSql(String sql) {
029        this.sql = sql;
030    }
031
032    public int getIndex() {
033        return index;
034    }
035
036    public void setIndex(int index) {
037        this.index = index;
038    }
039
040    public List<Pair<Integer, Integer>> getPositions() {
041        return positions;
042    }
043
044    public void setPositions(List<Pair<Integer, Integer>> positions) {
045        this.positions = positions;
046    }
047
048        public String getFilePath() {
049                return filePath;
050        }
051
052        public void setFilePath(String filePath) {
053                this.filePath = filePath;
054        }
055
056        @Override
057        public String toString() {
058                return "DbObjectPosition [file=" + file + ", sql=" + sql + ", index=" + index + ", positions=" + positions
059                                + "]";
060        }
061
062        @Override
063        public boolean equals(Object o) {
064                if (this == o) return true;
065                if (o == null || getClass() != o.getClass()) return false;
066                DbObjectPosition that = (DbObjectPosition) o;
067                return index == that.index &&
068                                Objects.equals(file, that.file) &&
069                                Objects.equals(filePath, that.filePath) &&
070                                Objects.equals(sql, that.sql) &&
071                                Objects.equals(positions, that.positions);
072        }
073
074        @Override
075        public int hashCode() {
076                return Objects.hash(file, filePath, sql, index, positions);
077        }
078}