mirror of
https://github.com/tcgdex/java-sdk.git
synced 2025-04-22 02:42:15 +00:00
Various minor improvements to ease usage
This commit is contained in:
parent
79692ec3ad
commit
82aaf7cb01
@ -31,7 +31,7 @@ public class Attack {
|
||||
private final String damage;
|
||||
|
||||
Attack(JSONObject json) {
|
||||
this(Types.parse(json.getJSONArray("cost")), json.getString("name"), json.optString("effect"),
|
||||
this(Types.parse(json.optJSONArray("cost")), json.getString("name"), json.optString("effect"),
|
||||
json.optString("damage"));
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,7 @@ public class CardInfo extends CardResume {
|
||||
|
||||
CardInfo(JSONObject json) {
|
||||
super(json);
|
||||
this.illustrator = json.getString("illustrator");
|
||||
this.illustrator = json.optString("illustrator");
|
||||
this.rarity = Rarities.parse(json.getString("rarity"));
|
||||
this.category = Categories.parse(json.getString("category"));
|
||||
JSONObject variantSection = json.getJSONObject("variants");
|
||||
@ -152,7 +152,7 @@ public class CardInfo extends CardResume {
|
||||
|
||||
/**
|
||||
*
|
||||
* @return Card illustrator
|
||||
* @return Card illustrator, may be null
|
||||
*/
|
||||
public String getIllustrator() {
|
||||
return illustrator;
|
||||
|
@ -11,7 +11,7 @@ import org.json.JSONObject;
|
||||
* Core information to describe a single card
|
||||
*
|
||||
*/
|
||||
public class CardResume {
|
||||
public class CardResume implements Comparable<CardResume> {
|
||||
|
||||
static List<CardResume> parse(JSONArray array) {
|
||||
if (array == null) {
|
||||
@ -40,6 +40,10 @@ public class CardResume {
|
||||
this.image = image;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return String.format("%s (%s): %s,%s", name, id, localId, image);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Globally unique card ID based on the set ID and the cards ID within the set
|
||||
*/
|
||||
@ -69,4 +73,23 @@ public class CardResume {
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (!(o instanceof CardResume)) {
|
||||
return false;
|
||||
}
|
||||
CardResume other = (CardResume) o;
|
||||
return this.id.equals(other.id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return this.id.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(CardResume arg0) {
|
||||
return this.id.compareTo(arg0.id);
|
||||
}
|
||||
}
|
||||
|
@ -142,7 +142,11 @@ public class TCGDexAPI {
|
||||
*/
|
||||
public CardInfo getCardInfo(String globalCardID) throws IOException {
|
||||
String data = Utils.doGet(buildURL("cards", globalCardID));
|
||||
return new CardInfo(new JSONObject(data));
|
||||
JSONObject json = new JSONObject(data);
|
||||
if (json.has("error")) {
|
||||
return null;
|
||||
}
|
||||
return new CardInfo(json);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -158,7 +162,11 @@ public class TCGDexAPI {
|
||||
*/
|
||||
public CardInfo getCardInfo(String setID, String cardID) throws IOException {
|
||||
String data = Utils.doGet(buildURL("sets", setID, cardID));
|
||||
return new CardInfo(new JSONObject(data));
|
||||
JSONObject json = new JSONObject(data);
|
||||
if (json.has("error")) {
|
||||
return null;
|
||||
}
|
||||
return new CardInfo(json);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2,9 +2,7 @@ package net.tcgdex;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.URL;
|
||||
|
||||
|
@ -30,7 +30,7 @@ public class Weakness {
|
||||
|
||||
|
||||
Weakness(JSONObject json) {
|
||||
this(Types.parse(json.getString("type")), json.getString("value"));
|
||||
this(Types.parse(json.getString("type")), json.optString("value"));
|
||||
}
|
||||
|
||||
Weakness(Types type, String value) {
|
||||
@ -56,7 +56,7 @@ public class Weakness {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Descriptor of the weakness multiplier, including a leading x, for example 'x2'
|
||||
* @return Descriptor of the weakness multiplier, including a leading x, for example 'x2'. May be null
|
||||
*/
|
||||
public String getValue() {
|
||||
return value;
|
||||
|
Loading…
x
Reference in New Issue
Block a user