package org.knowm.xchange.loyalbit.dto.account;
import java.math.BigDecimal;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import si.mazi.rescu.ExceptionalReturnContentException;
/**
* @author Matija Mazi
*/
public class LoyalbitBalance {
@JsonProperty("available_usd")
BigDecimal availableUsd;
@JsonProperty("available_btc")
BigDecimal availableBtc;
@JsonProperty("reserved_order_usd")
BigDecimal reservedOrderUsd;
@JsonProperty("reserved_order_btc")
BigDecimal reservedOrderBtc;
@JsonProperty("reserved_withdraw_usd")
BigDecimal reservedWithdrawUsd;
@JsonProperty("reserved_withdraw_btc")
BigDecimal reservedWithdrawBtc;
@JsonProperty("fee")
BigDecimal fee;
public LoyalbitBalance(@JsonProperty("available_usd") BigDecimal availableUsd, @JsonProperty("available_btc") BigDecimal availableBtc,
@JsonProperty("reserved_order_usd") BigDecimal reservedOrderUsd, @JsonProperty("reserved_order_btc") BigDecimal reservedOrderBtc,
@JsonProperty("reserved_withdraw_usd") BigDecimal reservedWithdrawUsd, @JsonProperty("reserved_withdraw_btc") BigDecimal reservedWithdrawBtc,
@JsonProperty("fee") BigDecimal fee, @JsonProperty("status") Integer status) throws ExceptionalReturnContentException {
if (Objects.equals(status, 0)) {
throw new ExceptionalReturnContentException("Status indicates failure: " + status);
}
this.availableUsd = availableUsd;
this.availableBtc = availableBtc;
this.reservedOrderUsd = reservedOrderUsd;
this.reservedOrderBtc = reservedOrderBtc;
this.reservedWithdrawUsd = reservedWithdrawUsd;
this.reservedWithdrawBtc = reservedWithdrawBtc;
this.fee = fee;
}
public BigDecimal getAvailableUsd() {
return availableUsd;
}
public BigDecimal getAvailableBtc() {
return availableBtc;
}
public BigDecimal getReservedOrderUsd() {
return reservedOrderUsd;
}
public BigDecimal getReservedOrderBtc() {
return reservedOrderBtc;
}
public BigDecimal getReservedWithdrawUsd() {
return reservedWithdrawUsd;
}
public BigDecimal getReservedWithdrawBtc() {
return reservedWithdrawBtc;
}
public BigDecimal getFee() {
return fee;
}
@Override
public String toString() {
return String.format(
"LoyalbitBalance{availableUsd=%s, availableBtc=%s, reservedOrderUsd=%s, reservedOrderBtc=%s, reservedWithdrawUsd=%s, reservedWithdrawBtc=%s, fee=%s}",
availableUsd, availableBtc, reservedOrderUsd, reservedOrderBtc, reservedWithdrawUsd, reservedWithdrawBtc, fee);
}
}