// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.node.admin.container;

import java.util.Objects;

/**
 * Credentials for a container registry server.
 *
 * @author mpolden
 */
public class RegistryCredentials {

    public static final RegistryCredentials none = new RegistryCredentials("", "", "");

    private final String username;
    private final String password;
    private final String registryAddress;

    public RegistryCredentials(String username, String password, String registryAddress) {
        this.username = Objects.requireNonNull(username);
        this.password = Objects.requireNonNull(password);
        this.registryAddress = Objects.requireNonNull(registryAddress);
    }

    public String username() {
        return username;
    }

    public String password() {
        return password;
    }

    public String registryAddress() {
        return registryAddress;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        RegistryCredentials that = (RegistryCredentials) o;
        return username.equals(that.username) &&
               password.equals(that.password) &&
               registryAddress.equals(that.registryAddress);
    }

    @Override
    public int hashCode() {
        return Objects.hash(username, password, registryAddress);
    }

    @Override
    public String toString() {
        return "registry credentials for " + registryAddress + " [username=" + username + ",password=" + password + "]";
    }

}

@@ -375,12 +375,8 @@
 (%22%22,
- %22%22,
  %22%22)
@@ -451,50 +451,8 @@
 ord;
-%0A    private final String registryAddress;
 %0A%0A  
@@ -516,32 +516,8 @@
 word
-, String registryAddress
 ) %7B%0A
@@ -636,80 +636,8 @@
 d);%0A
-        this.registryAddress = Objects.requireNonNull(registryAddress);%0A
     
@@ -769,85 +769,8 @@
  %7D%0A%0A
-    public String registryAddress() %7B%0A        return registryAddress;%0A    %7D%0A%0A
     
@@ -1078,71 +1078,8 @@
 ord)
- &&%0A               registryAddress.equals(that.registryAddress)
 ;%0A  
@@ -1175,25 +1175,8 @@
 word
-, registryAddress
 );%0A 
@@ -1266,36 +1266,8 @@
 ials
- for %22 + registryAddress + %22
  %5Bus
@@ -1303,24 +1303,16 @@
 ord=
-%22 + password + %22
+%3Chidden%3E
 %5D%22;%0A

Remove registry address from RegistryCredentials