content: package redis.clients.jedis;
  
  import java.io.Serializable;
  
  public class HostAndPort implements Serializable {
  private static final long serialVersionUID = -519876229978427751L;
  
  public static final String LOCALHOST_STR = "localhost";
  
    private String host;
    private int port;
  
    public HostAndPort(String host, int port) {
      this.host = host;
      this.port = port;
    }
  
    public String getHost() {
      return host;
    }
  
    public int getPort() {
      return port;
    }
  
    @Override
    public boolean equals(Object obj) {
      if (obj instanceof HostAndPort) {
        HostAndPort hp = (HostAndPort) obj;
  
        String thisHost = convertHost(host);
        String hpHost = convertHost(hp.host);
        return port == hp.port && thisHost.equals(hpHost);
  
      }
  
      return false;
    }
  
    @Override
    public int hashCode() {
      return 31 * convertHost(host).hashCode() + port;
    }
  
    @Override
    public String toString() {
      return host + ":" + port;
    }
  
    private String convertHost(String host) {
      if (host.equals("127.0.0.1")) return LOCALHOST_STR;
      else if (host.equals("::1")) return LOCALHOST_STR;
  
      return host;
    }
  }
  