package org.knowm.xchange.bitcoinaverage.dto.marketdata; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; /** * Data object representing Ticker from BitcoinAverage */ @JsonIgnoreProperties(ignoreUnknown = true) public final class BitcoinAverageTicker { private final BigDecimal last; private final BigDecimal ask; private final BigDecimal bid; private final BigDecimal volume_percent; private final BigDecimal volume; private final String timestamp; /** * Constructor * * @param bid * @param ask * @param volume * @param last * @param avg * @param timestamp */ public BitcoinAverageTicker(@JsonProperty("ask") BigDecimal ask, @JsonProperty("bid") BigDecimal bid, @JsonProperty("volume_btc") BigDecimal volume, @JsonProperty("last") BigDecimal last, @JsonProperty("volume_percent") BigDecimal volume_percent, @JsonProperty("timestamp") String timestamp) { this.ask = ask; this.bid = bid; this.volume = volume; this.last = last; this.volume_percent = volume_percent; this.timestamp = timestamp; } public BigDecimal getLast() { return last; } public BigDecimal getAsk() { return ask; } public BigDecimal getBid() { return bid; } public BigDecimal getVolume() { return volume; } public BigDecimal getVolumePercent() { return volume_percent; } public Date getTimestamp() { try { // Parse the timestamp into a Date object return new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.getDefault()).parse(timestamp); } catch (IllegalArgumentException e) { // Return current Date return new Date(); } catch (ParseException e) { // Return current Date return new Date(); } } @Override public String toString() { return "BitcoinAverageTicker [last=" + last + ", ask=" + ask + ", bid=" + bid + ", volume=" + volume + ", volume_percent=" + volume_percent + ", timestamp=" + timestamp + "]"; } }