package org.knowm.xchange.bitstamp.service; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.service.trade.params.TradeHistoryParamCurrencyPair; import org.knowm.xchange.service.trade.params.TradeHistoryParamOffset; import org.knowm.xchange.service.trade.params.TradeHistoryParamPaging; import org.knowm.xchange.service.trade.params.TradeHistoryParamsSorted; public class BitstampTradeHistoryParams implements TradeHistoryParamCurrencyPair, TradeHistoryParamsSorted, TradeHistoryParamOffset, TradeHistoryParamPaging { private CurrencyPair currencyPair; private Order order; private Integer offset; private Integer pageLength; public BitstampTradeHistoryParams(CurrencyPair currencyPair, Integer pageLength) { this.currencyPair = currencyPair; this.pageLength = pageLength; } @Override public CurrencyPair getCurrencyPair() { return currencyPair; } @Override public void setCurrencyPair(CurrencyPair currencyPair) { this.currencyPair = currencyPair; } @Override public Order getOrder() { return order; } @Override public void setOrder(Order order) { this.order = order; } @Override public Long getOffset() { return offset == null ? null : Long.valueOf(offset); } public void setOffset(Long offset) { this.offset = offset == null ? null : offset.intValue(); } @Override public Integer getPageLength() { return pageLength; } @Override public void setPageLength(Integer pageLength) { this.pageLength = pageLength; } @Override public void setPageNumber(Integer pageNumber) { if (pageNumber == null) { setOffset(null); } else if (pageLength != null) { this.offset = pageNumber * pageLength; } } @Override public Integer getPageNumber() { return (offset == null || pageLength == null) ? null : offset / pageLength; } }