2 * Copyright (c) 2014 Hewlett-Packard Development Company, L.P. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.aaa;
10 import static org.opendaylight.aaa.EqualUtil.areEqual;
11 import static org.opendaylight.aaa.HashCodeUtil.hash;
13 import org.opendaylight.aaa.api.PasswordCredentials;
16 * {@link PasswordCredentials} builder.
21 public class PasswordCredentialBuilder {
22 private final MutablePasswordCredentials pc = new MutablePasswordCredentials();
24 public PasswordCredentialBuilder setUserName(String username) {
25 pc.username = username;
29 public PasswordCredentialBuilder setPassword(String password) {
30 pc.password = password;
34 public PasswordCredentialBuilder setDomain(String domain) {
39 public PasswordCredentials build() {
43 private static class MutablePasswordCredentials implements PasswordCredentials {
44 private int hashCode = 0;
45 private String username;
46 private String password;
47 private String domain;
50 public String username() {
55 public String password() {
60 public String domain() {
65 public boolean equals(Object o) {
69 if (!(o instanceof PasswordCredentials)) {
72 PasswordCredentials p = (PasswordCredentials) o;
73 return areEqual(username, p.username()) && areEqual(password, p.password());
77 public int hashCode() {
79 int result = HashCodeUtil.SEED;
80 result = hash(result, username);
81 result = hash(result, password);