aboutsummaryrefslogtreecommitdiffstats
path: root/src/eu/equalparts/cardbase/cards
diff options
context:
space:
mode:
Diffstat (limited to 'src/eu/equalparts/cardbase/cards')
-rw-r--r--src/eu/equalparts/cardbase/cards/Card.java63
-rw-r--r--src/eu/equalparts/cardbase/cards/CardSetInformation.java34
-rw-r--r--src/eu/equalparts/cardbase/cards/FullCardSet.java26
3 files changed, 123 insertions, 0 deletions
diff --git a/src/eu/equalparts/cardbase/cards/Card.java b/src/eu/equalparts/cardbase/cards/Card.java
new file mode 100644
index 0000000..6afdff8
--- /dev/null
+++ b/src/eu/equalparts/cardbase/cards/Card.java
@@ -0,0 +1,63 @@
+package eu.equalparts.cardbase.cards;
+
+import eu.equalparts.cardbase.comparator.SpecialFields.DirtyNumber;
+import eu.equalparts.cardbase.comparator.SpecialFields.Rarity;
+
+public class Card {
+
+ public String name;
+ public String layout;
+ public String manaCost;
+ public Integer cmc;
+ public String type;
+ @Rarity
+ public String rarity;
+ public String text;
+ public String flavor;
+ public String artist;
+ @DirtyNumber
+ public String number;
+ @DirtyNumber
+ public String power;
+ @DirtyNumber
+ public String toughness;
+ public Integer loyalty;
+ public Integer multiverseid;
+ public String imageName;
+ public String border;
+ public String watermark;
+
+ // Not part of upstream JSON
+ public String setCode;
+ public String imageCode;
+ public Integer count;
+
+ @Override
+ public Card clone() {
+ Card clone = new Card();
+
+ clone.name = this.name;
+ clone.layout = this.layout;
+ clone.manaCost = this.manaCost;
+ clone.cmc = this.cmc;
+ clone.type = this.type;
+ clone.rarity = this.rarity;
+ clone.text = this.text;
+ clone.flavor = this.flavor;
+ clone.artist = this.artist;
+ clone.number = this.number;
+ clone.power = this.power;
+ clone.toughness = this.toughness;
+ clone.loyalty = this.loyalty;
+ clone.multiverseid = this.multiverseid;
+ clone.imageName = this.imageName;
+ clone.border = this.border;
+ clone.watermark = this.watermark;
+ clone.setCode = this.setCode;
+ clone.imageCode = this.imageCode;
+ clone.count = this.count;
+
+ return clone;
+ }
+
+} \ No newline at end of file
diff --git a/src/eu/equalparts/cardbase/cards/CardSetInformation.java b/src/eu/equalparts/cardbase/cards/CardSetInformation.java
new file mode 100644
index 0000000..587c99a
--- /dev/null
+++ b/src/eu/equalparts/cardbase/cards/CardSetInformation.java
@@ -0,0 +1,34 @@
+package eu.equalparts.cardbase.cards;
+
+public class CardSetInformation {
+
+ private String name;
+ private String code;
+ private String releaseDate;
+
+ /**
+ * @return the set's name.
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @return the set code.
+ */
+ public String getCode() {
+ return code;
+ }
+
+ /**
+ * @return the set's release date.
+ */
+ public String getReleaseDate() {
+ return releaseDate;
+ }
+
+ @Override
+ public String toString() {
+ return String.format("%1$-12s : %2$s", code, name, releaseDate);
+ }
+}
diff --git a/src/eu/equalparts/cardbase/cards/FullCardSet.java b/src/eu/equalparts/cardbase/cards/FullCardSet.java
new file mode 100644
index 0000000..d627111
--- /dev/null
+++ b/src/eu/equalparts/cardbase/cards/FullCardSet.java
@@ -0,0 +1,26 @@
+package eu.equalparts.cardbase.cards;
+
+import java.util.Map;
+
+public class FullCardSet {
+
+ public String name;
+ public String code;
+ public String magicCardsInfoCode;
+ public String releaseDate;
+ public String border;
+ public String type;
+ public String block;
+ public String gathererCode;
+ public Map<String, Card> cards;
+
+ /**
+ * Searches for a card by number (the one shown on the card itself).
+ *
+ * @param number the number of the card to search.
+ * @return the requested {@code Card}, or null if no card is found with that number.
+ */
+ public Card getCardByNumber(String number) {
+ return cards.get(number);
+ }
+} \ No newline at end of file