diff options
Diffstat (limited to 'src/eu/equalparts/cardbase/query/IO.java')
-rw-r--r-- | src/eu/equalparts/cardbase/query/IO.java | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/eu/equalparts/cardbase/query/IO.java b/src/eu/equalparts/cardbase/query/IO.java new file mode 100644 index 0000000..65a3a34 --- /dev/null +++ b/src/eu/equalparts/cardbase/query/IO.java @@ -0,0 +1,43 @@ +package eu.equalparts.cardbase.query; + +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.util.ArrayList; + +import com.fasterxml.jackson.core.JsonGenerationException; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +import eu.equalparts.cardbase.data.CardBase; +import eu.equalparts.cardbase.data.CardSet; +import eu.equalparts.cardbase.data.MetaCardSet; + +public class IO { + + public static final String BASE_URL = "http://mtgjson.com/json/"; + public static final String SETS_URL = BASE_URL + "SetList.json"; + + private static final ObjectMapper mapper = new ObjectMapper(); + + public static CardSet getCardSet(String setId) { + return new CardSet(); + } + + public static ArrayList<MetaCardSet> getAllMetaSets() throws JsonParseException, JsonMappingException, IOException { + //mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + return mapper.readValue(new URL(SETS_URL), new TypeReference<ArrayList<MetaCardSet>>() {}); + } + + public static CardBase readCardBase(File file) throws JsonParseException, JsonMappingException, IOException { + return mapper.readValue(file, CardBase.class); + } + + public static void writeCardBase(File file, CardBase cardBase) throws JsonGenerationException, JsonMappingException, IOException { + mapper.writeValue(file, cardBase); + } + +} |