package info.blockchain.api.blockexplorer.entity; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import java.util.ArrayList; import java.util.List; public class XpubFull { private String address; private int txCount; private long totalReceived; private long totalSent; private long finalBalance; private int changeIndex; private int accountIndex; private int gapLimit; private List<Transaction> txs; public XpubFull (String address, int txCount, long totalReceived, long totalSent, long finalBalance, int changeIndex, int accountIndex, int gapLimit, List<Transaction> txs) { this.address = address; this.txCount = txCount; this.totalReceived = totalReceived; this.totalSent = totalSent; this.finalBalance = finalBalance; this.changeIndex = changeIndex; this.accountIndex = accountIndex; this.gapLimit = gapLimit; this.txs = txs; } public XpubFull (AddressSummary addressSummary, List<Transaction> txs) { this.address = addressSummary.getAddress(); this.txCount = addressSummary.getTxCount(); this.accountIndex = addressSummary.getAccountIndex(); this.changeIndex = addressSummary.getChangeIndex(); this.finalBalance = addressSummary.getFinalBalance(); this.gapLimit = addressSummary.getGapLimit(); this.totalReceived = addressSummary.getTotalReceived(); this.totalSent = addressSummary.getTotalSent(); this.txs = txs; } public XpubFull (JsonObject json) { this( json.has("address") ? json.get("address").getAsString() : "", json.has("n_tx") ? json.get("n_tx").getAsInt() : 0, json.has("total_received") ? json.get("total_received").getAsLong() : 0, json.has("total_sent") ? json.get("total_sent").getAsLong() : 0, json.has("final_balance") ? json.get("final_balance").getAsLong() : 0, json.has("change_index") ? json.get("change_index").getAsInt() : 0, json.has("account_index") ? json.get("account_index").getAsInt() : 0, json.has("gap_limit") ? json.get("gap_limit").getAsInt() : 0, null ); txs = new ArrayList<Transaction>(); for (JsonElement txElem : json.get("txs").getAsJsonArray()) { JsonObject addrObj = txElem.getAsJsonObject(); txs.add(new Transaction(addrObj)); } } public String getAddress() { return address; } public int getTxCount() { return txCount; } public void setTxCount(int txCount) { this.txCount = txCount; } public long getTotalReceived() { return totalReceived; } public long getTotalSent() { return totalSent; } public long getFinalBalance() { return finalBalance; } public int getChangeIndex() { return changeIndex; } public int getAccountIndex() { return accountIndex; } public void setFinalBalance(long final_balance) { this.finalBalance = final_balance; } public void setAddress(String address) { this.address = address; } public void setTotalReceived(long total_received) { this.totalReceived = total_received; } public void setTotalSent(long total_sent) { this.totalSent = total_sent; } public void setChangeIndex(int change_index) { this.changeIndex = change_index; } public void setAccountIndex(int account_index) { this.accountIndex = account_index; } public int getGapLimit () { return gapLimit; } public void setGapLimit (int gapLimit) { this.gapLimit = gapLimit; } public List<Transaction> getTxs () { return txs; } public void setTxs (List<Transaction> txs) { this.txs = txs; } }