com.yahoo.vespa.hosted.controller.api.integration.billing.InstrumentOwner Maven / Gradle / Ivy
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration.billing;
import com.yahoo.config.provision.TenantName;
import java.util.Objects;
/**
* @author olaa
*/
public class InstrumentOwner {
private final TenantName tenantName;
private final String userId;
private final String paymentInstrumentId;
private final boolean isDefault;
public InstrumentOwner(TenantName tenantName, String userId, String paymentInstrumentId, boolean isDefault) {
this.tenantName = tenantName;
this.userId = userId;
this.paymentInstrumentId = paymentInstrumentId;
this.isDefault = isDefault;
}
public TenantName getTenantName() {
return tenantName;
}
public String getUserId() {
return userId;
}
public String getPaymentInstrumentId() {
return paymentInstrumentId;
}
public boolean isDefault() {
return isDefault;
}
@Override
public String toString() {
return String.format(
"Tenant: %s\nCusomer ID: %s\nPayment Instrument ID: %s\nIs default: %s",
tenantName.value(),
userId,
paymentInstrumentId,
isDefault
);
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
InstrumentOwner other = (InstrumentOwner) o;
return this.tenantName.equals(other.getTenantName()) &&
this.userId.equals(other.getUserId()) &&
this.paymentInstrumentId.equals(other.getPaymentInstrumentId()) &&
this.isDefault() == other.isDefault();
}
@Override
public int hashCode() {
return Objects.hash(tenantName, userId, paymentInstrumentId, isDefault);
}
}