package com.ripple.client.types;
import com.ripple.core.coretypes.AccountID;
import com.ripple.core.coretypes.Amount;
import com.ripple.core.coretypes.Currency;
import org.json.JSONObject;
import java.math.BigDecimal;
public class AccountLine {
public Amount balance;
public Amount limit_peer;
public Amount limit;
public Currency currency;
public boolean freeze = false;
public boolean freeze_peer = false;
public boolean authorized = false;
public boolean authorized_peer = false;
public boolean no_ripple = false;
public boolean no_ripple_peer = false;
public int quality_in = 0;
public int quality_out = 0;
public static AccountLine fromJSON(AccountID orientedTo, JSONObject line) {
AccountLine l = new AccountLine();
AccountID peer = AccountID.fromAddress(line.getString("account"));
BigDecimal balance = new BigDecimal(line.getString("balance"));
BigDecimal limit = new BigDecimal(line.getString("limit"));
BigDecimal limit_peer = new BigDecimal(line.getString("limit_peer"));
l.currency = Currency.fromString(line.getString("currency"));
l.balance = new Amount(balance, l.currency, peer);
l.limit = new Amount(limit, l.currency, peer);
l.limit_peer = new Amount(limit_peer, l.currency, orientedTo);
l.freeze = line.optBoolean("freeze", false);
l.freeze_peer = line.optBoolean("freeze_peer", false);
l.authorized = line.optBoolean("authorized", false);
l.authorized_peer = line.optBoolean("authorized_peer", false);
l.no_ripple = line.optBoolean("no_ripple", false);
l.no_ripple_peer = line.optBoolean("no_ripple_peer", false);
l.quality_in = line.optInt("quality_in", 0);
l.quality_out = line.optInt("quality_out", 0);
return l;
}
}