package fr.keemto.core;
public class AccountKey {
private String providerId;
private String providerUserId;
private final User user;
public AccountKey(String providerId, String providerUserId, User user) {
this.providerId = providerId;
this.providerUserId = providerUserId;
this.user = user;
}
public String getId() {
return getProviderId() + "-" + getProviderUserId() + "-" + user.getUsername();
}
public String getProviderId() {
return providerId;
}
public String getProviderUserId() {
return providerUserId;
}
public User getUser() {
return user;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || !(o instanceof AccountKey)) return false;
AccountKey that = (AccountKey) o;
if (providerId != null ? !providerId.equals(that.providerId) : that.providerId != null) return false;
if (providerUserId != null ? !providerUserId.equals(that.providerUserId) : that.providerUserId != null)
return false;
if (user != null ? !user.equals(that.user) : that.user != null) return false;
return true;
}
@Override
public int hashCode() {
int result = providerId != null ? providerId.hashCode() : 0;
result = 31 * result + (providerUserId != null ? providerUserId.hashCode() : 0);
result = 31 * result + (user != null ? user.hashCode() : 0);
return result;
}
@Override
public String toString() {
return "AccountKey{" +
"providerId='" + providerId + '\'' +
", providerUserId='" + providerUserId + '\'' +
", username=" + user.getUsername() +
'}';
}
}