package north.gatherercrawler; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * * @author North */ public class Card implements Comparable { private Integer multiverseId; private String name; private List manaCost; private Integer convertedManaCost; private String types; private List cardText; private List flavorText; private String powerToughness; private String expansion; private String rarity; private String cardNumber; private String artist; public Card(Integer multiverseId) { this.multiverseId = multiverseId; } public Card(String card) { String[] split = card.split("\\|",13); if (split[0].length() > 0) { multiverseId = Integer.parseInt(split[0]); } if (split[1].length() > 0) { name = split[1]; } manaCost = new ArrayList(); manaCost.addAll(Arrays.asList(split[2].split("\\$"))); if (split[3].length() > 0) { convertedManaCost = Integer.parseInt(split[3]); } if (split[4].length() > 0) { types = split[4]; } cardText = new ArrayList(); cardText.addAll(Arrays.asList(split[5].split("\\$"))); flavorText = new ArrayList(); flavorText.addAll(Arrays.asList(split[6].split("\\$"))); if (split[7].length() > 0) { powerToughness = split[7]; } if (split[8].length() > 0) { expansion = split[8]; } if (split[9].length() > 0) { rarity = split[9]; } if (split[10].length() > 0) { cardNumber = split[10]; } if (split[11].length() > 0) { artist = split[11]; } } public String getArtist() { return artist; } public void setArtist(String artist) { this.artist = artist; } public String getCardNumber() { return cardNumber; } public void setCardNumber(String cardNumber) { this.cardNumber = cardNumber; } public List getCardText() { return cardText; } public void setCardText(List cardText) { this.cardText = cardText; } public Integer getConvertedManaCost() { return convertedManaCost; } public void setConvertedManaCost(Integer convertedManaCost) { this.convertedManaCost = convertedManaCost; } public String getExpansion() { return expansion; } public void setExpansion(String expansion) { this.expansion = expansion; } public List getFlavorText() { return flavorText; } public void setFlavorText(List flavorText) { this.flavorText = flavorText; } public List getManaCost() { return manaCost; } public void setManaCost(List manaCost) { this.manaCost = manaCost; } public Integer getMultiverseId() { return multiverseId; } public void setMultiverseId(Integer multiverseId) { this.multiverseId = multiverseId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPowerToughness() { return powerToughness; } public void setPowerToughness(String powerToughness) { this.powerToughness = powerToughness; } public String getRarity() { return rarity; } public void setRarity(String rarity) { this.rarity = rarity; } public String getTypes() { return types; } public void setTypes(String types) { this.types = types; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(multiverseId).append("|"); sb.append(name).append("|"); for (int i = 0; i < manaCost.size(); i++) { sb.append(manaCost.get(i)); if (i < manaCost.size() - 1) { sb.append("$"); } } sb.append("|"); sb.append(convertedManaCost != null ? convertedManaCost : "").append("|"); sb.append(types).append("|"); for (int i = 0; i < cardText.size(); i++) { sb.append(cardText.get(i)); if (i < cardText.size() - 1) { sb.append("$"); } } sb.append("|"); for (int i = 0; i < flavorText.size(); i++) { sb.append(flavorText.get(i)); if (i < flavorText.size() - 1) { sb.append("$"); } } sb.append("|"); sb.append(powerToughness != null ? powerToughness : "").append("|"); sb.append(expansion).append("|"); sb.append(rarity != null ? rarity : "").append("|"); sb.append(cardNumber != null ? cardNumber : "").append("|"); sb.append(artist != null ? artist : ""); return sb.toString(); } public int compareTo(Card o) { return this.multiverseId.compareTo(o.getMultiverseId()); } }