package jstellarapi.connection;
import jstellarapi.core.DenominatedIssuedCurrency;
import org.json.simple.JSONObject;
public class ExchangeOffer implements JSONSerializable {
public long sequenceNumber;
public DenominatedIssuedCurrency takerGets;
public DenominatedIssuedCurrency takerPays;
@Override
public void copyFrom(JSONObject jsonOffer) {
sequenceNumber = (long) jsonOffer.get("seq");
takerGets = jsonToDenominatedAmount(jsonOffer.get("taker_gets"));
takerPays = jsonToDenominatedAmount(jsonOffer.get("taker_pays"));
}
private DenominatedIssuedCurrency jsonToDenominatedAmount(Object jsonDenominatedAmount) {
if(jsonDenominatedAmount instanceof JSONObject){
DenominatedIssuedCurrency amount = new DenominatedIssuedCurrency();
amount.copyFrom((JSONObject) jsonDenominatedAmount);
return amount;
}
else{
return new DenominatedIssuedCurrency((String) jsonDenominatedAmount);
}
}
}