net.sealake.binance.api.client.domain.general.SymbolInfo Maven / Gradle / Ivy
The newest version!
package net.sealake.binance.api.client.domain.general;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import net.sealake.binance.api.client.constant.BinanceApiConstants;
import net.sealake.binance.api.client.domain.OrderType;
import org.apache.commons.lang3.builder.ToStringBuilder;
import java.util.List;
/**
* Symbol information (base/quote).
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class SymbolInfo {
private String symbol;
private SymbolStatus status;
private String baseAsset;
private Integer baseAssetPrecision;
private String quoteAsset;
private Integer quotePrecision;
private List orderTypes;
private boolean icebergAllowed;
private List filters;
public String getSymbol() {
return symbol;
}
public void setSymbol(String symbol) {
this.symbol = symbol;
}
public SymbolStatus getStatus() {
return status;
}
public void setStatus(SymbolStatus status) {
this.status = status;
}
public String getBaseAsset() {
return baseAsset;
}
public void setBaseAsset(String baseAsset) {
this.baseAsset = baseAsset;
}
public Integer getBaseAssetPrecision() {
return baseAssetPrecision;
}
public void setBaseAssetPrecision(Integer baseAssetPrecision) {
this.baseAssetPrecision = baseAssetPrecision;
}
public String getQuoteAsset() {
return quoteAsset;
}
public void setQuoteAsset(String quoteAsset) {
this.quoteAsset = quoteAsset;
}
public Integer getQuotePrecision() {
return quotePrecision;
}
public void setQuotePrecision(Integer quotePrecision) {
this.quotePrecision = quotePrecision;
}
public List getOrderTypes() {
return orderTypes;
}
public void setOrderTypes(List orderTypes) {
this.orderTypes = orderTypes;
}
public boolean isIcebergAllowed() {
return icebergAllowed;
}
public void setIcebergAllowed(boolean icebergAllowed) {
this.icebergAllowed = icebergAllowed;
}
public List getFilters() {
return filters;
}
public void setFilters(List filters) {
this.filters = filters;
}
/**
* @param filterType filter type to filter for.
* @return symbol filter information for the provided filter type.
*/
public SymbolFilter getSymbolFilter(FilterType filterType) {
return filters.stream()
.filter(symbolFilter -> symbolFilter.getFilterType() == filterType)
.findFirst()
.get();
}
@Override
public String toString() {
return new ToStringBuilder(this, BinanceApiConstants.TO_STRING_BUILDER_STYLE)
.append("symbol", symbol)
.append("status", status)
.append("baseAsset", baseAsset)
.append("baseAssetPrecision", baseAssetPrecision)
.append("quoteAsset", quoteAsset)
.append("quotePrecision", quotePrecision)
.append("orderTypes", orderTypes)
.append("icebergAllowed", icebergAllowed)
.append("filters", filters)
.toString();
}
}