package mobi.boilr.libdynticker.exchanges; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.codehaus.jackson.JsonNode; import mobi.boilr.libdynticker.core.Exchange; import mobi.boilr.libdynticker.core.Pair; public final class Ice3xExchange extends Exchange { private static final List<Pair> pairs; static { List<Pair> tempPairs = new ArrayList<Pair>(); tempPairs.add(new Pair("BTC", "ZAR")); tempPairs.add(new Pair("LTC", "ZAR")); pairs = Collections.unmodifiableList(tempPairs); } public Ice3xExchange(long expiredPeriod) { super("Ice3x", expiredPeriod); } @Override protected List<Pair> getPairsFromAPI() throws IOException { return pairs; } @Override protected String getTicker(Pair pair) throws IOException { // https://api.ice3x.com/market/BTC/ZAR/tick JsonNode node = readJsonFromUrl( "https://api.ice3x.com/market/" + pair.getCoin() + "/" + pair.getExchange() + "/tick"); if(node.has("success") && !node.get("success").asBoolean()) throw new IOException(node.get("errorMessage").asText()); else return parseTicker(node, pair); } @Override public String parseTicker(JsonNode node, Pair pair) throws IOException { return node.get("lastPrice").asText(); } }