package io.bitsquare.btc.pricefeed;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MarketPrice {
private static final Logger log = LoggerFactory.getLogger(MarketPrice.class);
public final String currencyCode;
public final double ask;
public final double bid;
public final double last;
public MarketPrice(String currencyCode, double ask, double bid, double last) {
this.currencyCode = currencyCode;
this.ask = ask;
this.bid = bid;
this.last = last;
}
public double getPrice(PriceFeedService.Type type) {
switch (type) {
case ASK:
return ask;
case BID:
return (bid);
case LAST:
return last;
}
return 0;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof MarketPrice)) return false;
MarketPrice that = (MarketPrice) o;
if (Double.compare(that.ask, ask) != 0) return false;
if (Double.compare(that.bid, bid) != 0) return false;
if (Double.compare(that.last, last) != 0) return false;
return !(currencyCode != null ? !currencyCode.equals(that.currencyCode) : that.currencyCode != null);
}
@Override
public int hashCode() {
int result;
long temp;
result = currencyCode != null ? currencyCode.hashCode() : 0;
temp = Double.doubleToLongBits(ask);
result = 31 * result + (int) (temp ^ (temp >>> 32));
temp = Double.doubleToLongBits(bid);
result = 31 * result + (int) (temp ^ (temp >>> 32));
temp = Double.doubleToLongBits(last);
result = 31 * result + (int) (temp ^ (temp >>> 32));
return result;
}
@Override
public String toString() {
return "MarketPrice{" +
"currencyCode='" + currencyCode + '\'' +
", ask='" + ask + '\'' +
", bid='" + bid + '\'' +
", last='" + last + '\'' +
'}';
}
}