package com.github.ryhmrt.mssqldiff.gui.config; public class DbConnection implements Comparable<DbConnection> { private String host; private String dbname; private String user; public DbConnection(){ } public DbConnection(String host, String dbname, String user){ this.host = host; this.dbname = dbname; this.user = user; } public String getHost() { return host; } public void setHost(String host) { this.host = host; } public String getDbname() { return dbname; } public void setDbname(String dbname) { this.dbname = dbname; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } @Override public String toString() { return host + ":" + dbname + ":" + user; } @Override public int hashCode() { return toString().hashCode(); } @Override public boolean equals(Object o) { if (o instanceof DbConnection) { DbConnection dc = (DbConnection)o; return host.equalsIgnoreCase(dc.host) && dbname.equalsIgnoreCase(dc.dbname) && user.equalsIgnoreCase(dc.user); } return false; } @Override public int compareTo(DbConnection dc) { int h = host.compareToIgnoreCase(host); int d = dbname.compareToIgnoreCase(dbname); int u = user.compareToIgnoreCase(user); return h == 0 ? d == 0 ? u : d : h; } }