View Javadoc
1   package org.oxerr.okcoin.websocket.dto;
2   
3   import java.math.BigDecimal;
4   import java.text.DecimalFormat;
5   import java.text.ParseException;
6   import java.time.Instant;
7   
8   import javax.json.JsonObject;
9   import javax.json.JsonValue;
10  
11  public class Ticker extends BaseObject {
12  
13  	private static final long serialVersionUID = 2015022601L;
14  
15  	private final BigDecimal buy;
16  	private final BigDecimal high;
17  	private final BigDecimal last;
18  	private final BigDecimal low;
19  	private final BigDecimal sell;
20  	private final Instant timestamp;
21  	private final BigDecimal vol;
22  
23  	public Ticker(BigDecimal buy, BigDecimal high, BigDecimal last,
24  			BigDecimal low, BigDecimal sell, Instant timestamp, BigDecimal vol) {
25  		this.buy = buy;
26  		this.high = high;
27  		this.last = last;
28  		this.low = low;
29  		this.sell = sell;
30  		this.timestamp = timestamp;
31  		this.vol = vol;
32  	}
33  
34  	public Ticker(JsonValue jsonValue) {
35  		this((JsonObject) jsonValue);
36  	}
37  
38  	public Ticker(JsonObject jsonObject) {
39  		this.buy = new BigDecimal(jsonObject.getString("buy"));
40  		this.high = new BigDecimal(jsonObject.getString("high"));
41  		this.last = new BigDecimal(jsonObject.getString("last"));
42  		this.low = new BigDecimal(jsonObject.getString("low"));
43  		this.sell = new BigDecimal(jsonObject.getString("sell"));
44  		this.timestamp = Instant.ofEpochMilli(Long.parseLong(jsonObject.getString("timestamp")));
45  		DecimalFormat df = new DecimalFormat("#,###.");
46  		try {
47  			this.vol = BigDecimal.valueOf(df.parse(jsonObject.getString("vol")).doubleValue());
48  		} catch (ParseException e) {
49  			throw new IllegalArgumentException(e);
50  		}
51  	}
52  
53  	public BigDecimal getBuy() {
54  		return buy;
55  	}
56  
57  	public BigDecimal getHigh() {
58  		return high;
59  	}
60  
61  	public BigDecimal getLast() {
62  		return last;
63  	}
64  
65  	public BigDecimal getLow() {
66  		return low;
67  	}
68  
69  	public BigDecimal getSell() {
70  		return sell;
71  	}
72  
73  	public Instant getTimestamp() {
74  		return timestamp;
75  	}
76  
77  	public BigDecimal getVol() {
78  		return vol;
79  	}
80  
81  }