checkstyle and refactor

This commit is contained in:
jendave
2011-10-31 05:50:37 +00:00
parent e3d56c29a8
commit a5270e945c
21 changed files with 357 additions and 328 deletions

View File

@@ -132,7 +132,7 @@
<!-- Checks for Size Violations. -->
<!-- See http://checkstyle.sf.net/config_sizes.html -->
<module name="LineLength">
<property name="max" value="120"/>
<property name="max" value="180"/>
</module>
<module name="MethodLength"/>
<module name="ParameterNumber"/>

View File

@@ -46,18 +46,18 @@ public final class BoosterUtils {
// There should be 1 Multicolor card for every 4 cards in a single color
final List<Predicate<CardRules>> colorFilters = new ArrayList<Predicate<CardRules>>();
colorFilters.add(CardRules.Predicates.Presets.isMulticolor);
colorFilters.add(CardRules.Predicates.Presets.IS_MULTICOLOR);
for (int i = 0; i < 4; i++) {
if (i != 2) {
colorFilters.add(CardRules.Predicates.Presets.isColorless);
colorFilters.add(CardRules.Predicates.Presets.IS_COLORLESS);
}
colorFilters.add(CardRules.Predicates.Presets.isWhite);
colorFilters.add(CardRules.Predicates.Presets.isRed);
colorFilters.add(CardRules.Predicates.Presets.isBlue);
colorFilters.add(CardRules.Predicates.Presets.isBlack);
colorFilters.add(CardRules.Predicates.Presets.isGreen);
colorFilters.add(CardRules.Predicates.Presets.IS_WHITE);
colorFilters.add(CardRules.Predicates.Presets.IS_RED);
colorFilters.add(CardRules.Predicates.Presets.IS_BLUE);
colorFilters.add(CardRules.Predicates.Presets.IS_BLACK);
colorFilters.add(CardRules.Predicates.Presets.IS_GREEN);
}
final Iterable<CardPrinted> cardpool = CardDb.instance().getAllUniqueCards();
@@ -223,19 +223,19 @@ public final class BoosterUtils {
} else {
final String col = color.toLowerCase();
if (col.startsWith("wh")) {
colorFilter = CardRules.Predicates.Presets.isWhite;
colorFilter = CardRules.Predicates.Presets.IS_WHITE;
} else if (col.startsWith("bla")) {
colorFilter = CardRules.Predicates.Presets.isBlack;
colorFilter = CardRules.Predicates.Presets.IS_BLACK;
} else if (col.startsWith("blu")) {
colorFilter = CardRules.Predicates.Presets.isBlue;
colorFilter = CardRules.Predicates.Presets.IS_BLUE;
} else if (col.startsWith("re")) {
colorFilter = CardRules.Predicates.Presets.isRed;
colorFilter = CardRules.Predicates.Presets.IS_RED;
} else if (col.startsWith("col")) {
colorFilter = CardRules.Predicates.Presets.isColorless;
colorFilter = CardRules.Predicates.Presets.IS_COLORLESS;
} else if (col.startsWith("gre")) {
colorFilter = CardRules.Predicates.Presets.isGreen;
colorFilter = CardRules.Predicates.Presets.IS_GREEN;
} else if (col.startsWith("mul")) {
colorFilter = CardRules.Predicates.Presets.isMulticolor;
colorFilter = CardRules.Predicates.Presets.IS_MULTICOLOR;
} else {
colorFilter = Predicate.getTrue(CardRules.class);
}
@@ -276,7 +276,7 @@ public final class BoosterUtils {
* @return the card printed
*/
public static CardPrinted findCardOfColor(final List<CardPrinted> in, final int color) {
final Predicate<CardRules> filter = CardRules.Predicates.Presets.colors.get(color);
final Predicate<CardRules> filter = CardRules.Predicates.Presets.COLORS.get(color);
if (null == filter) {
return null;
}

View File

@@ -23,7 +23,7 @@ public final class CardManaCost implements Comparable<CardManaCost> {
private Float compareWeight = null;
/** The Constant empty. */
public static final CardManaCost empty = new CardManaCost();
public static final CardManaCost EMPTY = new CardManaCost();
// pass mana cost parser here
private CardManaCost() {
@@ -89,7 +89,7 @@ public final class CardManaCost implements Comparable<CardManaCost> {
public int getCMC() {
int sum = 0;
for (CardManaCostShard s : shards) {
sum += s.cmc;
sum += s.getCmc();
}
return sum + genericCost;
}
@@ -157,7 +157,7 @@ public final class CardManaCost implements Comparable<CardManaCost> {
if (compareWeight == null) {
float weight = genericCost;
for (CardManaCostShard s : shards) {
weight += s.cmpc;
weight += s.getCmpc();
}
if (hasNoCost) {
weight = -1; // for those who doesn't even have a 0 sign on card

View File

@@ -8,14 +8,14 @@ public class CardManaCostShard {
private final int shard;
/** The cmc. */
public final int cmc;
private final int cmc;
/** The cmpc. */
public final float cmpc;
private final float cmpc;
private final String stringValue;
/** The image key. */
public final String imageKey;
private final String imageKey;
/**
* Instantiates a new card mana cost shard.
@@ -169,7 +169,7 @@ public class CardManaCostShard {
/** The Constant G2. */
public static final CardManaCostShard G2 = new CardManaCostShard(Atom.GREEN | Atom.OR_2_COLORLESS, "2/G", "2G");
private static final CardManaCostShard[] allPossible = new CardManaCostShard[] { X, WHITE, BLUE, BLACK, RED, GREEN,
private static final CardManaCostShard[] ALL_POSSIBLE = new CardManaCostShard[] { X, WHITE, BLUE, BLACK, RED, GREEN,
PW, PU, PB, PR, PG, WU, WB, WR, WG, UB, UR, UG, BR, BG, RG, W2, U2, B2, R2, G2 };
private int getCMC() {
@@ -250,9 +250,9 @@ public class CardManaCostShard {
* @return the card mana cost shard
*/
public static CardManaCostShard valueOf(final int atoms) {
for (int i = 0; i < allPossible.length; i++) {
if (allPossible[i].shard == atoms) {
return allPossible[i];
for (int i = 0; i < ALL_POSSIBLE.length; i++) {
if (ALL_POSSIBLE[i].shard == atoms) {
return ALL_POSSIBLE[i];
}
}
throw new RuntimeException(String.format("Not fount: mana shard with profile = %x", atoms));
@@ -267,4 +267,25 @@ public class CardManaCostShard {
public final String toString() {
return stringValue;
}
/**
* @return the cmc
*/
public int getCmc() {
return cmc;
}
/**
* @return the cmpc
*/
public float getCmpc() {
return cmpc;
}
/**
* @return the imageKey
*/
public String getImageKey() {
return imageKey;
}
}

View File

@@ -180,19 +180,19 @@ public class CardRatings {
*
* @param cardName
* the card name
* @param Rating
* @param rating
* the rating
*/
public final void putFullRating(final String cardName, final int Rating) {
public final void putFullRating(final String cardName, final int rating) {
if (fullRatings.containsKey(cardName)) {
int r = fullRatings.get(cardName);
int nr = (r + Rating) / 2;
int nr = (r + rating) / 2;
fullRatings.put(cardName, nr);
} else {
fullRatings.put(cardName, Rating);
fullRatings.put(cardName, rating);
}
tempRatings.add("Full:" + cardName + ":" + Rating);
tempRatings.add("Full:" + cardName + ":" + rating);
}
/**
@@ -202,20 +202,20 @@ public class CardRatings {
* the card name
* @param setCode
* the set code
* @param Rating
* @param rating
* the rating
*/
public final void putBlockRating(final String cardName, final String setCode, final int Rating) {
public final void putBlockRating(final String cardName, final String setCode, final int rating) {
String cNsC = cardName + "|" + setCode;
if (blockRatings.containsKey(cNsC)) {
int r = blockRatings.get(cNsC);
int nr = (r + Rating) / 2;
int nr = (r + rating) / 2;
blockRatings.put(cNsC, nr);
} else {
blockRatings.put(cNsC, Rating);
blockRatings.put(cNsC, rating);
}
tempRatings.add("Block:" + cNsC + ":" + Rating);
tempRatings.add("Block:" + cNsC + ":" + rating);
}
/**
@@ -225,20 +225,20 @@ public class CardRatings {
* the card name
* @param custName
* the cust name
* @param Rating
* @param rating
* the rating
*/
public final void putCustomRating(final String cardName, final String custName, final int Rating) {
public final void putCustomRating(final String cardName, final String custName, final int rating) {
String cNcN = cardName + "|" + custName;
if (customRatings.containsKey(cNcN)) {
int r = customRatings.get(cNcN);
int nr = (r + Rating) / 2;
int nr = (r + rating) / 2;
customRatings.put(cNcN, nr);
} else {
customRatings.put(cNcN, Rating);
customRatings.put(cNcN, rating);
}
tempRatings.add("Custom:" + cNcN + ":" + Rating);
tempRatings.add("Custom:" + cNcN + ":" + rating);
}
/**

View File

@@ -10,7 +10,7 @@ import java.util.TreeMap;
public class CardRuleCharacteristics {
private String cardName = null;
private CardType cardType = null;
private CardManaCost manaCost = CardManaCost.empty;
private CardManaCost manaCost = CardManaCost.EMPTY;
private CardColor color = null;
private String ptLine = null;
private String[] cardRules = null;

View File

@@ -328,7 +328,7 @@ public final class CardRules {
public abstract static class Predicates {
/** The Constant isKeptInAiDecks. */
public static final Predicate<CardRules> isKeptInAiDecks = new Predicate<CardRules>() {
public static final Predicate<CardRules> IS_KEPT_IN_AI_DECKS = new Predicate<CardRules>() {
@Override
public boolean isTrue(final CardRules card) {
return !card.isRemovedFromAIDecks;
@@ -336,7 +336,7 @@ public final class CardRules {
};
/** The Constant isKeptInRandomDecks. */
public static final Predicate<CardRules> isKeptInRandomDecks = new Predicate<CardRules>() {
public static final Predicate<CardRules> IS_KEPT_IN_RANDOM_DECKS = new Predicate<CardRules>() {
@Override
public boolean isTrue(final CardRules card) {
return !card.isRemovedFromRandomDecks;
@@ -738,16 +738,16 @@ public final class CardRules {
public static class Presets {
/** The Constant isCreature. */
public static final Predicate<CardRules> isCreature = coreType(true, CardCoreType.Creature);
public static final Predicate<CardRules> IS_CREATURE = coreType(true, CardCoreType.Creature);
/** The Constant isArtifact. */
public static final Predicate<CardRules> isArtifact = coreType(true, CardCoreType.Artifact);
public static final Predicate<CardRules> IS_ARTIFACT = coreType(true, CardCoreType.Artifact);
/** The Constant isLand. */
public static final Predicate<CardRules> isLand = coreType(true, CardCoreType.Land);
public static final Predicate<CardRules> IS_LAND = coreType(true, CardCoreType.Land);
/** The Constant isBasicLand. */
public static final Predicate<CardRules> isBasicLand = new Predicate<CardRules>() {
public static final Predicate<CardRules> IS_BASIC_LAND = new Predicate<CardRules>() {
@Override
public boolean isTrue(final CardRules subject) {
return subject.getType().isBasicLand();
@@ -755,78 +755,78 @@ public final class CardRules {
};
/** The Constant isPlaneswalker. */
public static final Predicate<CardRules> isPlaneswalker = coreType(true, CardCoreType.Planeswalker);
public static final Predicate<CardRules> IS_PLANESWALKER = coreType(true, CardCoreType.Planeswalker);
/** The Constant isInstant. */
public static final Predicate<CardRules> isInstant = coreType(true, CardCoreType.Instant);
public static final Predicate<CardRules> IS_INSTANT = coreType(true, CardCoreType.Instant);
/** The Constant isSorcery. */
public static final Predicate<CardRules> isSorcery = coreType(true, CardCoreType.Sorcery);
public static final Predicate<CardRules> IS_SORCERY = coreType(true, CardCoreType.Sorcery);
/** The Constant isEnchantment. */
public static final Predicate<CardRules> isEnchantment = coreType(true, CardCoreType.Enchantment);
public static final Predicate<CardRules> IS_ENCHANTMENT = coreType(true, CardCoreType.Enchantment);
/** The Constant isNonLand. */
public static final Predicate<CardRules> isNonLand = coreType(false, CardCoreType.Land);
public static final Predicate<CardRules> IS_NON_LAND = coreType(false, CardCoreType.Land);
/** The Constant isNonCreatureSpell. */
public static final Predicate<CardRules> isNonCreatureSpell = Predicate.compose(isCreature,
PredicatesOp.NOR, isLand);
public static final Predicate<CardRules> IS_NON_CREATURE_SPELL = Predicate.compose(IS_CREATURE,
PredicatesOp.NOR, IS_LAND);
/** The Constant isWhite. */
public static final Predicate<CardRules> isWhite = isColor(CardColor.WHITE);
public static final Predicate<CardRules> IS_WHITE = isColor(CardColor.WHITE);
/** The Constant isBlue. */
public static final Predicate<CardRules> isBlue = isColor(CardColor.BLUE);
public static final Predicate<CardRules> IS_BLUE = isColor(CardColor.BLUE);
/** The Constant isBlack. */
public static final Predicate<CardRules> isBlack = isColor(CardColor.BLACK);
public static final Predicate<CardRules> IS_BLACK = isColor(CardColor.BLACK);
/** The Constant isRed. */
public static final Predicate<CardRules> isRed = isColor(CardColor.RED);
public static final Predicate<CardRules> IS_RED = isColor(CardColor.RED);
/** The Constant isGreen. */
public static final Predicate<CardRules> isGreen = isColor(CardColor.GREEN);
public static final Predicate<CardRules> IS_GREEN = isColor(CardColor.GREEN);
/** The Constant isColorless. */
public static final Predicate<CardRules> isColorless = hasCntColors((byte) 0);
public static final Predicate<CardRules> IS_COLORLESS = hasCntColors((byte) 0);
/** The Constant isMulticolor. */
public static final Predicate<CardRules> isMulticolor = hasAtLeastCntColors((byte) 2);
public static final Predicate<CardRules> IS_MULTICOLOR = hasAtLeastCntColors((byte) 2);
/** The Constant colors. */
public static final List<Predicate<CardRules>> colors = new ArrayList<Predicate<CardRules>>();
public static final List<Predicate<CardRules>> COLORS = new ArrayList<Predicate<CardRules>>();
static {
colors.add(isWhite);
colors.add(isBlue);
colors.add(isBlack);
colors.add(isRed);
colors.add(isGreen);
colors.add(isColorless);
COLORS.add(IS_WHITE);
COLORS.add(IS_BLUE);
COLORS.add(IS_BLACK);
COLORS.add(IS_RED);
COLORS.add(IS_GREEN);
COLORS.add(IS_COLORLESS);
}
/** The Constant constantTrue. */
public static final Predicate<CardRules> constantTrue = Predicate.getTrue(CardRules.class);
public static final Predicate<CardRules> CONSTANT_TRUE = Predicate.getTrue(CardRules.class);
// Think twice before using these, since rarity is a prop of printed
// card.
/** The Constant isInLatestSetCommon. */
public static final Predicate<CardRules> isInLatestSetCommon = rarityInCardsLatestSet(true,
public static final Predicate<CardRules> IS_IN_LATEST_SET_COMMON = rarityInCardsLatestSet(true,
CardRarity.Common);
/** The Constant isInLatestSetUncommon. */
public static final Predicate<CardRules> isInLatestSetUncommon = rarityInCardsLatestSet(true,
public static final Predicate<CardRules> IS_IN_LATEST_SET_UNCOMMON = rarityInCardsLatestSet(true,
CardRarity.Uncommon);
/** The Constant isInLatestSetRare. */
public static final Predicate<CardRules> isInLatestSetRare = rarityInCardsLatestSet(true, CardRarity.Rare);
public static final Predicate<CardRules> IS_IN_LATEST_SET_RARE = rarityInCardsLatestSet(true, CardRarity.Rare);
/** The Constant isInLatestSetMythicRare. */
public static final Predicate<CardRules> isInLatestSetMythicRare = rarityInCardsLatestSet(true,
public static final Predicate<CardRules> IS_IN_LATEST_SET_MYTHIC_RARE = rarityInCardsLatestSet(true,
CardRarity.MythicRare);
/** The Constant isInLatestSetSpecial. */
public static final Predicate<CardRules> isInLatestSetSpecial = rarityInCardsLatestSet(true,
public static final Predicate<CardRules> IS_IN_LATEST_SET_SPECIAL = rarityInCardsLatestSet(true,
CardRarity.Special);
}
}

View File

@@ -33,12 +33,12 @@ public class CardRulesReader {
* Reset.
*/
public final void reset() {
characteristics = new CardRuleCharacteristics[] { new CardRuleCharacteristics(), null };
curCharacteristics = 0;
removedFromAIDecks = false;
removedFromRandomDecks = false;
isDoubleFacedCard = false;
isFlipCard = false;
this.characteristics = new CardRuleCharacteristics[] { new CardRuleCharacteristics(), null };
this.curCharacteristics = 0;
this.removedFromAIDecks = false;
this.removedFromRandomDecks = false;
this.isDoubleFacedCard = false;
this.isFlipCard = false;
}
/**
@@ -47,12 +47,12 @@ public class CardRulesReader {
* @return the card
*/
public final CardRules[] getCard() {
CardRules[] ret = new CardRules[] {
new CardRules(characteristics[0], isDoubleFacedCard, false, removedFromRandomDecks, removedFromAIDecks),
null };
if (characteristics[1] != null) {
ret[1] = new CardRules(characteristics[1], isDoubleFacedCard, true, removedFromRandomDecks,
removedFromAIDecks);
final CardRules[] ret = new CardRules[] {
new CardRules(this.characteristics[0], this.isDoubleFacedCard, false, this.removedFromRandomDecks,
this.removedFromAIDecks), null };
if (this.characteristics[1] != null) {
ret[1] = new CardRules(this.characteristics[1], this.isDoubleFacedCard, true, this.removedFromRandomDecks,
this.removedFromAIDecks);
}
return ret;
@@ -66,43 +66,48 @@ public class CardRulesReader {
*/
public final void parseLine(final String line) {
if (line.startsWith("Name:")) {
characteristics[curCharacteristics].setCardName(getValueAfterKey(line, "Name:"));
if (characteristics[curCharacteristics].getCardName() == null
|| characteristics[curCharacteristics].getCardName().isEmpty()) {
this.characteristics[this.curCharacteristics].setCardName(CardRulesReader.getValueAfterKey(line, "Name:"));
if ((this.characteristics[this.curCharacteristics].getCardName() == null)
|| this.characteristics[this.curCharacteristics].getCardName().isEmpty()) {
throw new RuntimeException("Card name is empty");
}
} else if (line.startsWith("ManaCost:")) {
String sCost = getValueAfterKey(line, "ManaCost:");
characteristics[curCharacteristics].setManaCost("no cost".equals(sCost) ? CardManaCost.empty
final String sCost = CardRulesReader.getValueAfterKey(line, "ManaCost:");
this.characteristics[this.curCharacteristics].setManaCost("no cost".equals(sCost) ? CardManaCost.EMPTY
: new CardManaCost(new ParserCardnameTxtManaCost(sCost)));
} else if (line.startsWith("Types:")) {
characteristics[curCharacteristics].setCardType(CardType.parse(getValueAfterKey(line, "Types:")));
this.characteristics[this.curCharacteristics].setCardType(CardType.parse(CardRulesReader.getValueAfterKey(
line, "Types:")));
} else if (line.startsWith("Oracle:")) {
characteristics[curCharacteristics].setCardRules(getValueAfterKey(line, "Oracle:").split("\\n"));
this.characteristics[this.curCharacteristics].setCardRules(CardRulesReader
.getValueAfterKey(line, "Oracle:").split("\\n"));
} else if (line.startsWith("PT:")) {
characteristics[curCharacteristics].setPtLine(getValueAfterKey(line, "PT:"));
this.characteristics[this.curCharacteristics].setPtLine(CardRulesReader.getValueAfterKey(line, "PT:"));
} else if (line.startsWith("Loyalty:")) {
characteristics[curCharacteristics].setPtLine(getValueAfterKey(line, "Loyalty:"));
this.characteristics[this.curCharacteristics].setPtLine(CardRulesReader.getValueAfterKey(line, "Loyalty:"));
} else if (line.startsWith("SVar:RemAIDeck:")) {
removedFromAIDecks = "True".equalsIgnoreCase(getValueAfterKey(line, "SVar:RemAIDeck:"));
this.removedFromAIDecks = "True"
.equalsIgnoreCase(CardRulesReader.getValueAfterKey(line, "SVar:RemAIDeck:"));
} else if (line.startsWith("SVar:RemRandomDeck:")) {
removedFromRandomDecks = "True".equalsIgnoreCase(getValueAfterKey(line, "SVar:RemRandomDeck:"));
this.removedFromRandomDecks = "True".equalsIgnoreCase(CardRulesReader.getValueAfterKey(line,
"SVar:RemRandomDeck:"));
} else if (line.startsWith("SetInfo:")) {
parseSetInfoLine(line, characteristics[curCharacteristics].getSetsData());
CardRulesReader.parseSetInfoLine(line, this.characteristics[this.curCharacteristics].getSetsData());
} else if (line.startsWith("AlternateMode:")) {
isDoubleFacedCard = "DoubleFaced".equalsIgnoreCase(getValueAfterKey(line, "AlternateMode:"));
isFlipCard = "Flip".equalsIgnoreCase(getValueAfterKey(line, "AlternateMode:"));
this.isDoubleFacedCard = "DoubleFaced".equalsIgnoreCase(CardRulesReader.getValueAfterKey(line,
"AlternateMode:"));
this.isFlipCard = "Flip".equalsIgnoreCase(CardRulesReader.getValueAfterKey(line, "AlternateMode:"));
} else if (line.equals("ALTERNATE")) {
characteristics[1] = new CardRuleCharacteristics();
curCharacteristics = 1;
this.characteristics[1] = new CardRuleCharacteristics();
this.curCharacteristics = 1;
}
}
@@ -143,7 +148,7 @@ public class CardRulesReader {
if (pieces.length > numPicIx) {
try {
numIllustrations = Integer.parseInt(pieces[numPicIx]);
} catch (NumberFormatException nfe) {
} catch (final NumberFormatException nfe) {
throw new RuntimeException("Fourth item of SetInfo is not an integer in <<" + value + ">>");
}
@@ -169,7 +174,7 @@ public class CardRulesReader {
throw new RuntimeException("Unrecognized rarity string <<" + txtRarity + ">>");
}
CardInSet cardInSet = new CardInSet(rarity, numIllustrations);
final CardInSet cardInSet = new CardInSet(rarity, numIllustrations);
setsData.put(setCode, cardInSet);
}
@@ -206,8 +211,8 @@ public class CardRulesReader {
public ParserCardnameTxtManaCost(final String cost) {
this.cost = cost.split(" ");
// System.out.println(cost);
nextToken = 0;
colorlessCost = 0;
this.nextToken = 0;
this.colorlessCost = 0;
}
/*
@@ -215,11 +220,12 @@ public class CardRulesReader {
*
* @see forge.card.CardManaCost.ManaParser#getTotalColorlessCost()
*/
@Override
public final int getTotalColorlessCost() {
if (hasNext()) {
if (this.hasNext()) {
throw new RuntimeException("Colorless cost should be obtained after iteration is complete");
}
return colorlessCost;
return this.colorlessCost;
}
/*
@@ -229,7 +235,7 @@ public class CardRulesReader {
*/
@Override
public final boolean hasNext() {
return nextToken < cost.length;
return this.nextToken < this.cost.length;
}
/*
@@ -240,10 +246,10 @@ public class CardRulesReader {
@Override
public final CardManaCostShard next() {
String unparsed = cost[nextToken++];
final String unparsed = this.cost[this.nextToken++];
// System.out.println(unparsed);
if (StringUtils.isNumeric(unparsed)) {
colorlessCost += Integer.parseInt(unparsed);
this.colorlessCost += Integer.parseInt(unparsed);
return null;
}

View File

@@ -59,7 +59,7 @@ public final class CardSet implements Comparable<CardSet> { // immutable
}
/** The Constant unknown. */
public static final CardSet unknown = new CardSet(-1, "Undefined", "???", "??");
public static final CardSet UNKNOWN = new CardSet(-1, "Undefined", "???", "??");
/**
* Gets the name.
@@ -116,7 +116,7 @@ public final class CardSet implements Comparable<CardSet> { // immutable
}
/** The Constant fnGetName. */
public static final Lambda1<String, CardSet> fnGetName = new Lambda1<String, CardSet>() {
public static final Lambda1<String, CardSet> FN_GET_NAME = new Lambda1<String, CardSet>() {
@Override
public String apply(final CardSet arg1) {
return arg1.name;
@@ -124,7 +124,7 @@ public final class CardSet implements Comparable<CardSet> { // immutable
};
/** The Constant fn1. */
public static final Lambda1<CardSet, CardSet> fn1 = new Lambda1<CardSet, CardSet>() {
public static final Lambda1<CardSet, CardSet> FN1 = new Lambda1<CardSet, CardSet>() {
@Override
public CardSet apply(final CardSet arg1) {
return arg1;
@@ -319,7 +319,7 @@ public final class CardSet implements Comparable<CardSet> { // immutable
public abstract static class Predicates {
/** The Constant canMakeBooster. */
public static final Predicate<CardSet> canMakeBooster = new CanMakeBooster();
public static final Predicate<CardSet> CAN_MAKE_BOOSTER = new CanMakeBooster();
/**
* Checks if is legal in format.
@@ -356,13 +356,13 @@ public final class CardSet implements Comparable<CardSet> { // immutable
public abstract static class Presets {
/** The Constant setsInT2. */
public static final Predicate<CardSet> setsInT2 = isLegalInFormat(SetUtils.getStandard());
public static final Predicate<CardSet> SETS_IN_STANDARD = isLegalInFormat(SetUtils.getStandard());
/** The Constant setsInExt. */
public static final Predicate<CardSet> setsInExt = isLegalInFormat(SetUtils.getExtended());
public static final Predicate<CardSet> SETS_IN_EXT = isLegalInFormat(SetUtils.getExtended());
/** The Constant setsInModern. */
public static final Predicate<CardSet> setsInModern = isLegalInFormat(SetUtils.getModern());
public static final Predicate<CardSet> SET_IN_MODERN = isLegalInFormat(SetUtils.getModern());
}
}
}

View File

@@ -13,19 +13,19 @@ import forge.card.CardManaCost.ManaParser;
import forge.properties.ForgeProps;
import forge.properties.NewConstants;
/** This class can read CardRules from Arch's mtg-data.txt file */
/** This class can read CardRules from Arch's mtg-data.txt file. */
public final class MtgDataParser implements Iterator<CardRules> {
private Iterator<String> it;
private final Iterator<String> it;
private final List<String> mtgDataLines;
/**
* Instantiates a new mtg data parser.
*/
public MtgDataParser() {
mtgDataLines = FileUtil.readFile(ForgeProps.getFile(NewConstants.MTG_DATA));
it = mtgDataLines.iterator();
skipSetList();
this.mtgDataLines = FileUtil.readFile(ForgeProps.getFile(NewConstants.MTG_DATA));
this.it = this.mtgDataLines.iterator();
this.skipSetList();
}
private static List<String> setsToSkipPrefixes = new ArrayList<String>();
@@ -33,53 +33,53 @@ public final class MtgDataParser implements Iterator<CardRules> {
// lands from
// there
static {
setsToSkipPrefixes.add("VG"); // Vanguard
setsToSkipPrefixes.add("ME"); // Mtgo master's editions
setsToSkipPrefixes.add("FV"); // From the vaults
MtgDataParser.setsToSkipPrefixes.add("VG"); // Vanguard
MtgDataParser.setsToSkipPrefixes.add("ME"); // Mtgo master's editions
MtgDataParser.setsToSkipPrefixes.add("FV"); // From the vaults
// Duel decks... or... should I keep them?
setsToSkipPrefixes.add("DVD");
setsToSkipPrefixes.add("EVT");
setsToSkipPrefixes.add("EVG");
setsToSkipPrefixes.add("GVL");
setsToSkipPrefixes.add("JVC");
setsToSkipPrefixes.add("DDG");
setsToSkipPrefixes.add("PVC");
MtgDataParser.setsToSkipPrefixes.add("DVD");
MtgDataParser.setsToSkipPrefixes.add("EVT");
MtgDataParser.setsToSkipPrefixes.add("EVG");
MtgDataParser.setsToSkipPrefixes.add("GVL");
MtgDataParser.setsToSkipPrefixes.add("JVC");
MtgDataParser.setsToSkipPrefixes.add("DDG");
MtgDataParser.setsToSkipPrefixes.add("PVC");
// Archenemy - we cannot play it now anyway
setsToSkipPrefixes.add("ARC");
MtgDataParser.setsToSkipPrefixes.add("ARC");
// Planechase - this too
setsToSkipPrefixes.add("HOP");
MtgDataParser.setsToSkipPrefixes.add("HOP");
// Reprints
setsToSkipPrefixes.add("BRB");
setsToSkipPrefixes.add("BTD");
setsToSkipPrefixes.add("DKM");
MtgDataParser.setsToSkipPrefixes.add("BRB");
MtgDataParser.setsToSkipPrefixes.add("BTD");
MtgDataParser.setsToSkipPrefixes.add("DKM");
// setsToSkipPrefixes.add("ATH"); // No need to skip it really.
// On gatherer's opinion this cards were released twice in original set
// Promo sets - all cards have been issued in other sets
setsToSkipPrefixes.add("SDC");
setsToSkipPrefixes.add("ASTRAL");
MtgDataParser.setsToSkipPrefixes.add("SDC");
MtgDataParser.setsToSkipPrefixes.add("ASTRAL");
// Premium decks
setsToSkipPrefixes.add("H09");
setsToSkipPrefixes.add("H10");
MtgDataParser.setsToSkipPrefixes.add("H09");
MtgDataParser.setsToSkipPrefixes.add("H10");
// Un-sets are weird, but lands from there are valuable
unSets.add("UNH");
unSets.add("UGL");
MtgDataParser.unSets.add("UNH");
MtgDataParser.unSets.add("UGL");
}
private boolean weHaveNext;
private void skipSetList() {
String nextLine = it.next();
while (nextLine.length() > 0 && it.hasNext()) {
nextLine = it.next();
String nextLine = this.it.next();
while ((nextLine.length() > 0) && this.it.hasNext()) {
nextLine = this.it.next();
}
weHaveNext = it.hasNext();
this.weHaveNext = this.it.hasNext();
}
/*
@@ -89,7 +89,7 @@ public final class MtgDataParser implements Iterator<CardRules> {
*/
@Override
public boolean hasNext() {
return weHaveNext;
return this.weHaveNext;
}
private final CardRuleCharacteristics[] chars = new CardRuleCharacteristics[2];
@@ -101,25 +101,26 @@ public final class MtgDataParser implements Iterator<CardRules> {
*/
@Override
public CardRules next() {
if (chars[1] != null) {
CardRules ret = new CardRules(chars[1], false, true, false, false);
if (this.chars[1] != null) {
final CardRules ret = new CardRules(this.chars[1], false, true, false, false);
return ret;
}
chars[0] = new CardRuleCharacteristics();
Map<String, CardInSet> sets = new HashMap<String, CardInSet>();
this.chars[0] = new CardRuleCharacteristics();
final Map<String, CardInSet> sets = new HashMap<String, CardInSet>();
String nextline = readSingleCard(chars[0]);
String nextline = this.readSingleCard(this.chars[0]);
if (nextline != null) {
if (nextline.equals("----")) {
chars[1] = new CardRuleCharacteristics();
nextline = readSingleCard(chars[1]);
this.chars[1] = new CardRuleCharacteristics();
nextline = this.readSingleCard(this.chars[1]);
}
if (!nextline.isEmpty()) {
String setsLine = nextline;
boolean isBasicLand = chars[0].getCardType().isLand() && chars[0].getCardType().isBasic();
chars[0].setSetsData(getValidEditions(setsLine, isBasicLand));
if (chars[1] != null) {
chars[1].setSetsData(getValidEditions(setsLine, isBasicLand));
final String setsLine = nextline;
final boolean isBasicLand = this.chars[0].getCardType().isLand()
&& this.chars[0].getCardType().isBasic();
this.chars[0].setSetsData(this.getValidEditions(setsLine, isBasicLand));
if (this.chars[1] != null) {
this.chars[1].setSetsData(this.getValidEditions(setsLine, isBasicLand));
}
}
}
@@ -128,52 +129,52 @@ public final class MtgDataParser implements Iterator<CardRules> {
if (sets.isEmpty()) {
return null;
} // that was a bad card - it won't be added by invoker
if (chars[0] == null) {
if (this.chars[0] == null) {
return null;
}
return new CardRules(chars[0], false, false, false, false);
return new CardRules(this.chars[0], false, false, false, false);
}
private String readSingleCard(final CardRuleCharacteristics ret) {
if (!it.hasNext()) {
weHaveNext = false;
if (!this.it.hasNext()) {
this.weHaveNext = false;
return null;
}
ret.setCardName(it.next());
ret.setCardName(this.it.next());
if (!it.hasNext()) {
weHaveNext = false;
if (!this.it.hasNext()) {
this.weHaveNext = false;
return null;
}
String manaCost = it.next();
ret.setManaCost(CardManaCost.empty);
String manaCost = this.it.next();
ret.setManaCost(CardManaCost.EMPTY);
CardType type = null;
if (manaCost.startsWith("{")) {
ret.setManaCost(new CardManaCost(new ManaParserMtgData(manaCost)));
if (!it.hasNext()) {
weHaveNext = false;
if (!this.it.hasNext()) {
this.weHaveNext = false;
return null;
}
type = CardType.parse(it.next());
type = CardType.parse(this.it.next());
} else { // Land?
type = CardType.parse(manaCost);
manaCost = null;
}
ret.setPtLine(null);
if (type.isCreature() || type.isPlaneswalker()) {
if (!it.hasNext()) {
weHaveNext = false;
if (!this.it.hasNext()) {
this.weHaveNext = false;
return null;
}
ret.setPtLine(it.next());
ret.setPtLine(this.it.next());
}
String nextline = it.next();
ArrayList<String> rules = new ArrayList<String>();
while (nextline != null
final String nextline = this.it.next();
final ArrayList<String> rules = new ArrayList<String>();
while ((nextline != null)
&& !nextline.isEmpty()
&& !nextline.equals("----")
&& !java.util.regex.Pattern.matches(
@@ -186,19 +187,19 @@ public final class MtgDataParser implements Iterator<CardRules> {
}
private Map<String, CardInSet> getValidEditions(final String sets, final boolean isBasicLand) {
String[] setsData = sets.split(", ");
Map<String, CardInSet> result = new HashMap<String, CardInSet>();
for (int iSet = 0; iSet < setsData.length; iSet++) {
int spacePos = setsData[iSet].indexOf(' ');
String setCode = setsData[iSet].substring(0, spacePos);
final String[] setsData = sets.split(", ");
final Map<String, CardInSet> result = new HashMap<String, CardInSet>();
for (final String element : setsData) {
final int spacePos = element.indexOf(' ');
final String setCode = element.substring(0, spacePos);
boolean shouldSkip = false;
for (String s : setsToSkipPrefixes) {
for (final String s : MtgDataParser.setsToSkipPrefixes) {
if (setCode.startsWith(s)) {
shouldSkip = true;
break;
}
}
for (String s : unSets) {
for (final String s : MtgDataParser.unSets) {
if (setCode.startsWith(s) && !isBasicLand) {
shouldSkip = true;
break;
@@ -207,7 +208,7 @@ public final class MtgDataParser implements Iterator<CardRules> {
if (shouldSkip) {
continue;
}
result.put(setCode, parseCardInSet(setsData[iSet], spacePos));
result.put(setCode, MtgDataParser.parseCardInSet(element, spacePos));
}
return result;
}
@@ -222,7 +223,7 @@ public final class MtgDataParser implements Iterator<CardRules> {
* @return the card in set
*/
public static CardInSet parseCardInSet(final String unparsed, final int spaceAt) {
char rarity = unparsed.charAt(spaceAt + 1);
final char rarity = unparsed.charAt(spaceAt + 1);
CardRarity rating;
switch (rarity) {
case 'L':
@@ -249,9 +250,9 @@ public final class MtgDataParser implements Iterator<CardRules> {
}
int number = 1;
int bracketAt = unparsed.indexOf('(', spaceAt);
final int bracketAt = unparsed.indexOf('(', spaceAt);
if (-1 != bracketAt) {
String sN = unparsed.substring(bracketAt + 2, unparsed.indexOf(')', bracketAt));
final String sN = unparsed.substring(bracketAt + 2, unparsed.indexOf(')', bracketAt));
number = Integer.parseInt(sN);
}
return new CardInSet(rating, number);
@@ -284,8 +285,8 @@ public final class MtgDataParser implements Iterator<CardRules> {
public ManaParserMtgData(final String cost0) {
this.cost = cost0;
// System.out.println(cost);
nextBracket = cost0.indexOf('{');
colorlessCost = 0;
this.nextBracket = cost0.indexOf('{');
this.colorlessCost = 0;
}
/*
@@ -293,11 +294,12 @@ public final class MtgDataParser implements Iterator<CardRules> {
*
* @see forge.card.CardManaCost.ManaParser#getTotalColorlessCost()
*/
@Override
public int getTotalColorlessCost() {
if (hasNext()) {
if (this.hasNext()) {
throw new RuntimeException("Colorless cost should be obtained after iteration is complete");
}
return colorlessCost;
return this.colorlessCost;
}
/*
@@ -307,7 +309,7 @@ public final class MtgDataParser implements Iterator<CardRules> {
*/
@Override
public boolean hasNext() {
return nextBracket != -1;
return this.nextBracket != -1;
}
/*
@@ -317,13 +319,13 @@ public final class MtgDataParser implements Iterator<CardRules> {
*/
@Override
public CardManaCostShard next() {
int closeBracket = cost.indexOf('}', nextBracket);
String unparsed = cost.substring(nextBracket + 1, closeBracket);
nextBracket = cost.indexOf('{', closeBracket + 1);
final int closeBracket = this.cost.indexOf('}', this.nextBracket);
final String unparsed = this.cost.substring(this.nextBracket + 1, closeBracket);
this.nextBracket = this.cost.indexOf('{', closeBracket + 1);
// System.out.println(unparsed);
if (StringUtils.isNumeric(unparsed)) {
colorlessCost += Integer.parseInt(unparsed);
this.colorlessCost += Integer.parseInt(unparsed);
return null;
}

View File

@@ -97,21 +97,21 @@ public final class DeckEditorCommon extends DeckEditorBase {
private void setup() {
List<TableColumnInfo<InventoryItem>> columns = new ArrayList<TableColumnInfo<InventoryItem>>();
columns.add(new TableColumnInfo<InventoryItem>("Qty", 30, PresetColumns.fnQtyCompare, PresetColumns.fnQtyGet));
columns.add(new TableColumnInfo<InventoryItem>("Name", 175, PresetColumns.fnNameCompare,
PresetColumns.fnNameGet));
columns.add(new TableColumnInfo<InventoryItem>("Cost", 75, PresetColumns.fnCostCompare, PresetColumns.fnCostGet));
columns.add(new TableColumnInfo<InventoryItem>("Color", 60, PresetColumns.fnColorCompare,
PresetColumns.fnColorGet));
columns.add(new TableColumnInfo<InventoryItem>("Type", 100, PresetColumns.fnTypeCompare,
PresetColumns.fnTypeGet));
columns.add(new TableColumnInfo<InventoryItem>("Stats", 60, PresetColumns.fnStatsCompare,
PresetColumns.fnStatsGet));
columns.add(new TableColumnInfo<InventoryItem>("R", 25, PresetColumns.fnRarityCompare,
PresetColumns.fnRarityGet));
columns.add(new TableColumnInfo<InventoryItem>("Set", 40, PresetColumns.fnSetCompare, PresetColumns.fnSetGet));
columns.add(new TableColumnInfo<InventoryItem>("AI", 30, PresetColumns.fnAiStatusCompare,
PresetColumns.fnAiStatusGet));
columns.add(new TableColumnInfo<InventoryItem>("Qty", 30, PresetColumns.FN_QTY_COMPARE, PresetColumns.FN_QTY_GET));
columns.add(new TableColumnInfo<InventoryItem>("Name", 175, PresetColumns.FN_NAME_COMPARE,
PresetColumns.FN_NAME_GET));
columns.add(new TableColumnInfo<InventoryItem>("Cost", 75, PresetColumns.FN_COST_COMPARE, PresetColumns.FN_COST_GET));
columns.add(new TableColumnInfo<InventoryItem>("Color", 60, PresetColumns.FN_COLOR_COMPARE,
PresetColumns.FN_COLOR_GET));
columns.add(new TableColumnInfo<InventoryItem>("Type", 100, PresetColumns.FN_TYPE_COMPARE,
PresetColumns.FN_TYPE_GET));
columns.add(new TableColumnInfo<InventoryItem>("Stats", 60, PresetColumns.FN_STATS_COMPARE,
PresetColumns.FN_STATS_GET));
columns.add(new TableColumnInfo<InventoryItem>("R", 25, PresetColumns.FN_RARITY_COMPARE,
PresetColumns.FN_RARITY_GET));
columns.add(new TableColumnInfo<InventoryItem>("Set", 40, PresetColumns.FN_SET_COMPARE, PresetColumns.FN_SET_GET));
columns.add(new TableColumnInfo<InventoryItem>("AI", 30, PresetColumns.FN_AI_STATUS_COMPARE,
PresetColumns.FN_AI_STATUS_GET));
columns.get(2).setCellRenderer(new ManaCostRenderer());
top.setup(columns, cardView);

View File

@@ -144,21 +144,21 @@ public class DeckEditorDraft extends DeckEditorBase implements NewConstants, New
// setupMenu();
List<TableColumnInfo<InventoryItem>> columns = new ArrayList<TableColumnInfo<InventoryItem>>();
columns.add(new TableColumnInfo<InventoryItem>("Qty", 30, PresetColumns.fnQtyCompare, PresetColumns.fnQtyGet));
columns.add(new TableColumnInfo<InventoryItem>("Name", 180, PresetColumns.fnNameCompare,
PresetColumns.fnNameGet));
columns.add(new TableColumnInfo<InventoryItem>("Cost", 70, PresetColumns.fnCostCompare, PresetColumns.fnCostGet));
columns.add(new TableColumnInfo<InventoryItem>("Color", 50, PresetColumns.fnColorCompare,
PresetColumns.fnColorGet));
columns.add(new TableColumnInfo<InventoryItem>("Type", 100, PresetColumns.fnTypeCompare,
PresetColumns.fnTypeGet));
columns.add(new TableColumnInfo<InventoryItem>("Stats", 40, PresetColumns.fnStatsCompare,
PresetColumns.fnStatsGet));
columns.add(new TableColumnInfo<InventoryItem>("R", 35, PresetColumns.fnRarityCompare,
PresetColumns.fnRarityGet));
columns.add(new TableColumnInfo<InventoryItem>("Set", 40, PresetColumns.fnSetCompare, PresetColumns.fnSetGet));
columns.add(new TableColumnInfo<InventoryItem>("AI", 30, PresetColumns.fnAiStatusCompare,
PresetColumns.fnAiStatusGet));
columns.add(new TableColumnInfo<InventoryItem>("Qty", 30, PresetColumns.FN_QTY_COMPARE, PresetColumns.FN_QTY_GET));
columns.add(new TableColumnInfo<InventoryItem>("Name", 180, PresetColumns.FN_NAME_COMPARE,
PresetColumns.FN_NAME_GET));
columns.add(new TableColumnInfo<InventoryItem>("Cost", 70, PresetColumns.FN_COST_COMPARE, PresetColumns.FN_COST_GET));
columns.add(new TableColumnInfo<InventoryItem>("Color", 50, PresetColumns.FN_COLOR_COMPARE,
PresetColumns.FN_COLOR_GET));
columns.add(new TableColumnInfo<InventoryItem>("Type", 100, PresetColumns.FN_TYPE_COMPARE,
PresetColumns.FN_TYPE_GET));
columns.add(new TableColumnInfo<InventoryItem>("Stats", 40, PresetColumns.FN_STATS_COMPARE,
PresetColumns.FN_STATS_GET));
columns.add(new TableColumnInfo<InventoryItem>("R", 35, PresetColumns.FN_RARITY_COMPARE,
PresetColumns.FN_RARITY_GET));
columns.add(new TableColumnInfo<InventoryItem>("Set", 40, PresetColumns.FN_SET_COMPARE, PresetColumns.FN_SET_GET));
columns.add(new TableColumnInfo<InventoryItem>("AI", 30, PresetColumns.FN_AI_STATUS_COMPARE,
PresetColumns.FN_AI_STATUS_GET));
columns.get(2).setCellRenderer(new ManaCostRenderer());
top.setup(columns, cardView);

View File

@@ -127,19 +127,19 @@ public final class DeckEditorQuest extends DeckEditorBase implements NewConstant
this.setLayout(null);
List<TableColumnInfo<InventoryItem>> columns = new ArrayList<TableColumnInfo<InventoryItem>>();
columns.add(new TableColumnInfo<InventoryItem>("Qty", 30, PresetColumns.fnQtyCompare, PresetColumns.fnQtyGet));
columns.add(new TableColumnInfo<InventoryItem>("Name", 180, PresetColumns.fnNameCompare,
PresetColumns.fnNameGet));
columns.add(new TableColumnInfo<InventoryItem>("Cost", 70, PresetColumns.fnCostCompare, PresetColumns.fnCostGet));
columns.add(new TableColumnInfo<InventoryItem>("Color", 50, PresetColumns.fnColorCompare,
PresetColumns.fnColorGet));
columns.add(new TableColumnInfo<InventoryItem>("Type", 100, PresetColumns.fnTypeCompare,
PresetColumns.fnTypeGet));
columns.add(new TableColumnInfo<InventoryItem>("Stats", 40, PresetColumns.fnStatsCompare,
PresetColumns.fnStatsGet));
columns.add(new TableColumnInfo<InventoryItem>("R", 35, PresetColumns.fnRarityCompare,
PresetColumns.fnRarityGet));
columns.add(new TableColumnInfo<InventoryItem>("Set", 40, PresetColumns.fnSetCompare, PresetColumns.fnSetGet));
columns.add(new TableColumnInfo<InventoryItem>("Qty", 30, PresetColumns.FN_QTY_COMPARE, PresetColumns.FN_QTY_GET));
columns.add(new TableColumnInfo<InventoryItem>("Name", 180, PresetColumns.FN_NAME_COMPARE,
PresetColumns.FN_NAME_GET));
columns.add(new TableColumnInfo<InventoryItem>("Cost", 70, PresetColumns.FN_COST_COMPARE, PresetColumns.FN_COST_GET));
columns.add(new TableColumnInfo<InventoryItem>("Color", 50, PresetColumns.FN_COLOR_COMPARE,
PresetColumns.FN_COLOR_GET));
columns.add(new TableColumnInfo<InventoryItem>("Type", 100, PresetColumns.FN_TYPE_COMPARE,
PresetColumns.FN_TYPE_GET));
columns.add(new TableColumnInfo<InventoryItem>("Stats", 40, PresetColumns.FN_STATS_COMPARE,
PresetColumns.FN_STATS_GET));
columns.add(new TableColumnInfo<InventoryItem>("R", 35, PresetColumns.FN_RARITY_COMPARE,
PresetColumns.FN_RARITY_GET));
columns.add(new TableColumnInfo<InventoryItem>("Set", 40, PresetColumns.FN_SET_COMPARE, PresetColumns.FN_SET_GET));
columns.add(new TableColumnInfo<InventoryItem>("New", 30, questData.getCards().fnNewCompare, questData
.getCards().fnNewGet));

View File

@@ -203,22 +203,22 @@ public class DeckEditorQuestMenu extends JMenuBar {
// creatures
sb.append(String.format("%d Creatures%n-------------%n",
CardRules.Predicates.Presets.isCreature.aggregate(all, all.fnToCard, all.fnToCount)));
for (Entry<CardPrinted, Integer> e : CardRules.Predicates.Presets.isCreature.select(all, all.fnToCard)) {
CardRules.Predicates.Presets.IS_CREATURE.aggregate(all, all.fnToCard, all.fnToCount)));
for (Entry<CardPrinted, Integer> e : CardRules.Predicates.Presets.IS_CREATURE.select(all, all.fnToCard)) {
sb.append(String.format("%d x %s%n", e.getValue(), e.getKey().getName()));
}
// spells
sb.append(String.format("%d Spells%n----------%n",
CardRules.Predicates.Presets.isNonCreatureSpell.aggregate(all, all.fnToCard, all.fnToCount)));
for (Entry<CardPrinted, Integer> e : CardRules.Predicates.Presets.isNonCreatureSpell.select(all, all.fnToCard)) {
CardRules.Predicates.Presets.IS_NON_CREATURE_SPELL.aggregate(all, all.fnToCard, all.fnToCount)));
for (Entry<CardPrinted, Integer> e : CardRules.Predicates.Presets.IS_NON_CREATURE_SPELL.select(all, all.fnToCard)) {
sb.append(String.format("%d x %s%n", e.getValue(), e.getKey().getName()));
}
// lands
sb.append(String.format("%d Land%n--------%n",
CardRules.Predicates.Presets.isLand.aggregate(all, all.fnToCard, all.fnToCount)));
for (Entry<CardPrinted, Integer> e : CardRules.Predicates.Presets.isLand.select(all, all.fnToCard)) {
CardRules.Predicates.Presets.IS_LAND.aggregate(all, all.fnToCard, all.fnToCount)));
for (Entry<CardPrinted, Integer> e : CardRules.Predicates.Presets.IS_LAND.select(all, all.fnToCard)) {
sb.append(String.format("%d x %s%n", e.getValue(), e.getKey().getName()));
}

View File

@@ -42,7 +42,7 @@ import forge.quest.data.ReadPriceList;
*/
public final class DeckEditorShop extends DeckEditorBase {
/** Constant <code>serialVersionUID=3988857075791576483L</code> */
/** Constant <code>serialVersionUID=3988857075791576483L</code>. */
private static final long serialVersionUID = 3988857075791576483L;
private JButton buyButton = new JButton();
@@ -139,19 +139,19 @@ public final class DeckEditorShop extends DeckEditorBase {
*/
private void setup() {
List<TableColumnInfo<InventoryItem>> columns = new ArrayList<TableColumnInfo<InventoryItem>>();
columns.add(new TableColumnInfo<InventoryItem>("Qty", 30, PresetColumns.fnQtyCompare, PresetColumns.fnQtyGet));
columns.add(new TableColumnInfo<InventoryItem>("Name", 180, PresetColumns.fnNameCompare,
PresetColumns.fnNameGet));
columns.add(new TableColumnInfo<InventoryItem>("Cost", 70, PresetColumns.fnCostCompare, PresetColumns.fnCostGet));
columns.add(new TableColumnInfo<InventoryItem>("Color", 50, PresetColumns.fnColorCompare,
PresetColumns.fnColorGet));
columns.add(new TableColumnInfo<InventoryItem>("Type", 100, PresetColumns.fnTypeCompare,
PresetColumns.fnTypeGet));
columns.add(new TableColumnInfo<InventoryItem>("Stats", 40, PresetColumns.fnStatsCompare,
PresetColumns.fnStatsGet));
columns.add(new TableColumnInfo<InventoryItem>("R", 30, PresetColumns.fnRarityCompare,
PresetColumns.fnRarityGet));
columns.add(new TableColumnInfo<InventoryItem>("Set", 35, PresetColumns.fnSetCompare, PresetColumns.fnSetGet));
columns.add(new TableColumnInfo<InventoryItem>("Qty", 30, PresetColumns.FN_QTY_COMPARE, PresetColumns.FN_QTY_GET));
columns.add(new TableColumnInfo<InventoryItem>("Name", 180, PresetColumns.FN_NAME_COMPARE,
PresetColumns.FN_NAME_GET));
columns.add(new TableColumnInfo<InventoryItem>("Cost", 70, PresetColumns.FN_COST_COMPARE, PresetColumns.FN_COST_GET));
columns.add(new TableColumnInfo<InventoryItem>("Color", 50, PresetColumns.FN_COLOR_COMPARE,
PresetColumns.FN_COLOR_GET));
columns.add(new TableColumnInfo<InventoryItem>("Type", 100, PresetColumns.FN_TYPE_COMPARE,
PresetColumns.FN_TYPE_GET));
columns.add(new TableColumnInfo<InventoryItem>("Stats", 40, PresetColumns.FN_STATS_COMPARE,
PresetColumns.FN_STATS_GET));
columns.add(new TableColumnInfo<InventoryItem>("R", 30, PresetColumns.FN_RARITY_COMPARE,
PresetColumns.FN_RARITY_GET));
columns.add(new TableColumnInfo<InventoryItem>("Set", 35, PresetColumns.FN_SET_COMPARE, PresetColumns.FN_SET_GET));
columns.get(2).setCellRenderer(new ManaCostRenderer());
List<TableColumnInfo<InventoryItem>> columnsBelow = new ArrayList<TableColumnInfo<InventoryItem>>(columns);
@@ -213,13 +213,13 @@ public final class DeckEditorShop extends DeckEditorBase {
sellButton.setText("Sell Card");
sellButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(final ActionEvent e) {
sellButton_actionPerformed(e);
sellButtonActionPerformed(e);
}
});
buyButton.setText("Buy Card");
buyButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(final ActionEvent e) {
buyButton_actionPerformed(e);
buyButtonActionPerformed(e);
}
});
@@ -281,7 +281,7 @@ public final class DeckEditorShop extends DeckEditorBase {
return 1337;
}
private void buyButton_actionPerformed(final ActionEvent e) {
private void buyButtonActionPerformed(final ActionEvent e) {
InventoryItem item = top.getSelectedCard();
if (item == null) {
return;
@@ -325,7 +325,7 @@ public final class DeckEditorShop extends DeckEditorBase {
return Predicate.getTrue(InventoryItem.class);
}
private void sellButton_actionPerformed(final ActionEvent e) {
private void sellButtonActionPerformed(final ActionEvent e) {
InventoryItem item = bottom.getSelectedCard();
if (item == null || !(item instanceof CardPrinted)) {
return;

View File

@@ -115,49 +115,49 @@ class FilterCheckBoxes {
public final Predicate<CardPrinted> buildFilter() {
List<Predicate<CardRules>> colors = new ArrayList<Predicate<CardRules>>();
if (white.isSelected()) {
colors.add(CardRules.Predicates.Presets.isWhite);
colors.add(CardRules.Predicates.Presets.IS_WHITE);
}
if (blue.isSelected()) {
colors.add(CardRules.Predicates.Presets.isBlue);
colors.add(CardRules.Predicates.Presets.IS_BLUE);
}
if (black.isSelected()) {
colors.add(CardRules.Predicates.Presets.isBlack);
colors.add(CardRules.Predicates.Presets.IS_BLACK);
}
if (red.isSelected()) {
colors.add(CardRules.Predicates.Presets.isRed);
colors.add(CardRules.Predicates.Presets.IS_RED);
}
if (green.isSelected()) {
colors.add(CardRules.Predicates.Presets.isGreen);
colors.add(CardRules.Predicates.Presets.IS_GREEN);
}
if (colorless.isSelected()) {
colors.add(CardRules.Predicates.Presets.isColorless);
colors.add(CardRules.Predicates.Presets.IS_COLORLESS);
}
Predicate<CardRules> filterByColor = colors.size() == 6 ? CardRules.Predicates.Presets.constantTrue : Predicate
Predicate<CardRules> filterByColor = colors.size() == 6 ? CardRules.Predicates.Presets.CONSTANT_TRUE : Predicate
.or(colors);
List<Predicate<CardRules>> types = new ArrayList<Predicate<CardRules>>();
if (land.isSelected()) {
types.add(CardRules.Predicates.Presets.isLand);
types.add(CardRules.Predicates.Presets.IS_LAND);
}
if (creature.isSelected()) {
types.add(CardRules.Predicates.Presets.isCreature);
types.add(CardRules.Predicates.Presets.IS_CREATURE);
}
if (sorcery.isSelected()) {
types.add(CardRules.Predicates.Presets.isSorcery);
types.add(CardRules.Predicates.Presets.IS_SORCERY);
}
if (instant.isSelected()) {
types.add(CardRules.Predicates.Presets.isInstant);
types.add(CardRules.Predicates.Presets.IS_INSTANT);
}
if (planeswalker.isSelected()) {
types.add(CardRules.Predicates.Presets.isPlaneswalker);
types.add(CardRules.Predicates.Presets.IS_PLANESWALKER);
}
if (artifact.isSelected()) {
types.add(CardRules.Predicates.Presets.isArtifact);
types.add(CardRules.Predicates.Presets.IS_ARTIFACT);
}
if (enchantment.isSelected()) {
types.add(CardRules.Predicates.Presets.isEnchantment);
types.add(CardRules.Predicates.Presets.IS_ENCHANTMENT);
}
Predicate<CardRules> filterByType = types.size() == 7 ? CardRules.Predicates.Presets.constantTrue : Predicate
Predicate<CardRules> filterByType = types.size() == 7 ? CardRules.Predicates.Presets.CONSTANT_TRUE : Predicate
.or(types);
return Predicate.brigde(Predicate.and(filterByColor, filterByType), CardPrinted.fnGetRules);

View File

@@ -66,7 +66,7 @@ public class ManaCostRenderer extends DefaultTableCellRenderer {
}
for (CardManaCostShard s : shards) {
ManaSymbols.drawSymbol(s.imageKey, g, (int) xpos, 1);
ManaSymbols.drawSymbol(s.getImageKey(), g, (int) xpos, 1);
xpos += offset;
}
}

View File

@@ -19,7 +19,7 @@ import forge.item.InventoryItemFromSet;
public abstract class PresetColumns {
private static CardManaCost toManaCost(final InventoryItem i) {
return i instanceof CardPrinted ? ((CardPrinted) i).getCard().getManaCost() : CardManaCost.empty;
return i instanceof CardPrinted ? ((CardPrinted) i).getCard().getManaCost() : CardManaCost.EMPTY;
}
private static CardColor toColor(final InventoryItem i) {
@@ -36,7 +36,7 @@ public abstract class PresetColumns {
private static CardSet toSetCmp(final InventoryItem i) {
return i instanceof InventoryItemFromSet ? SetUtils.getSetByCode(((InventoryItemFromSet) i).getSet())
: CardSet.unknown;
: CardSet.UNKNOWN;
}
private static String toSetStr(final InventoryItem i) {
@@ -53,7 +53,7 @@ public abstract class PresetColumns {
/** The Constant fnQtyCompare. */
@SuppressWarnings("rawtypes")
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> fnQtyCompare = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> FN_QTY_COMPARE = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
@Override
public Comparable apply(final Entry<InventoryItem, Integer> from) {
return from.getValue();
@@ -61,7 +61,7 @@ public abstract class PresetColumns {
};
/** The Constant fnQtyGet. */
public static final Lambda1<Object, Entry<InventoryItem, Integer>> fnQtyGet = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Object, Entry<InventoryItem, Integer>> FN_QTY_GET = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
@Override
public Object apply(final Entry<InventoryItem, Integer> from) {
return from.getValue();
@@ -70,7 +70,7 @@ public abstract class PresetColumns {
/** The Constant fnNameCompare. */
@SuppressWarnings("rawtypes")
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> fnNameCompare = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> FN_NAME_COMPARE = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
@Override
public Comparable apply(final Entry<InventoryItem, Integer> from) {
return from.getKey().getName();
@@ -78,7 +78,7 @@ public abstract class PresetColumns {
};
/** The Constant fnNameGet. */
public static final Lambda1<Object, Entry<InventoryItem, Integer>> fnNameGet = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Object, Entry<InventoryItem, Integer>> FN_NAME_GET = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
@Override
public Object apply(final Entry<InventoryItem, Integer> from) {
return from.getKey().getName();
@@ -87,41 +87,41 @@ public abstract class PresetColumns {
/** The Constant fnCostCompare. */
@SuppressWarnings("rawtypes")
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> fnCostCompare = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> FN_COST_COMPARE = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
@Override
public Comparable apply(final Entry<InventoryItem, Integer> from) {
return toManaCost(from.getKey());
return PresetColumns.toManaCost(from.getKey());
}
};
/** The Constant fnCostGet. */
public static final Lambda1<Object, Entry<InventoryItem, Integer>> fnCostGet = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Object, Entry<InventoryItem, Integer>> FN_COST_GET = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
@Override
public Object apply(final Entry<InventoryItem, Integer> from) {
return toManaCost(from.getKey());
return PresetColumns.toManaCost(from.getKey());
}
};
/** The Constant fnColorCompare. */
@SuppressWarnings("rawtypes")
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> fnColorCompare = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> FN_COLOR_COMPARE = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
@Override
public Comparable apply(final Entry<InventoryItem, Integer> from) {
return toColor(from.getKey());
return PresetColumns.toColor(from.getKey());
}
};
/** The Constant fnColorGet. */
public static final Lambda1<Object, Entry<InventoryItem, Integer>> fnColorGet = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Object, Entry<InventoryItem, Integer>> FN_COLOR_GET = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
@Override
public Object apply(final Entry<InventoryItem, Integer> from) {
return toColor(from.getKey());
return PresetColumns.toColor(from.getKey());
}
};
/** The Constant fnTypeCompare. */
@SuppressWarnings("rawtypes")
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> fnTypeCompare = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> FN_TYPE_COMPARE = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
@Override
public Comparable apply(final Entry<InventoryItem, Integer> from) {
return from.getKey().getType();
@@ -129,7 +129,7 @@ public abstract class PresetColumns {
};
/** The Constant fnTypeGet. */
public static final Lambda1<Object, Entry<InventoryItem, Integer>> fnTypeGet = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Object, Entry<InventoryItem, Integer>> FN_TYPE_GET = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
@Override
public Object apply(final Entry<InventoryItem, Integer> from) {
return from.getKey().getType();
@@ -138,69 +138,69 @@ public abstract class PresetColumns {
/** The Constant fnStatsCompare. */
@SuppressWarnings("rawtypes")
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> fnStatsCompare = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> FN_STATS_COMPARE = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
@Override
public Comparable apply(final Entry<InventoryItem, Integer> from) {
return toPTL(from.getKey());
return PresetColumns.toPTL(from.getKey());
}
};
/** The Constant fnStatsGet. */
public static final Lambda1<Object, Entry<InventoryItem, Integer>> fnStatsGet = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Object, Entry<InventoryItem, Integer>> FN_STATS_GET = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
@Override
public Object apply(final Entry<InventoryItem, Integer> from) {
return toPTL(from.getKey());
return PresetColumns.toPTL(from.getKey());
}
};
/** The Constant fnRarityCompare. */
@SuppressWarnings("rawtypes")
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> fnRarityCompare = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> FN_RARITY_COMPARE = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
@Override
public Comparable apply(final Entry<InventoryItem, Integer> from) {
return toRarity(from.getKey());
return PresetColumns.toRarity(from.getKey());
}
};
/** The Constant fnRarityGet. */
public static final Lambda1<Object, Entry<InventoryItem, Integer>> fnRarityGet = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Object, Entry<InventoryItem, Integer>> FN_RARITY_GET = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
@Override
public Object apply(final Entry<InventoryItem, Integer> from) {
return toRarity(from.getKey());
return PresetColumns.toRarity(from.getKey());
}
};
/** The Constant fnSetCompare. */
@SuppressWarnings("rawtypes")
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> fnSetCompare = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> FN_SET_COMPARE = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
@Override
public Comparable apply(final Entry<InventoryItem, Integer> from) {
return toSetCmp(from.getKey());
return PresetColumns.toSetCmp(from.getKey());
}
};
/** The Constant fnSetGet. */
public static final Lambda1<Object, Entry<InventoryItem, Integer>> fnSetGet = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Object, Entry<InventoryItem, Integer>> FN_SET_GET = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
@Override
public Object apply(final Entry<InventoryItem, Integer> from) {
return toSetStr(from.getKey());
return PresetColumns.toSetStr(from.getKey());
}
};
/** The Constant fnAiStatusCompare. */
@SuppressWarnings("rawtypes")
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> fnAiStatusCompare = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Comparable, Entry<InventoryItem, Integer>> FN_AI_STATUS_COMPARE = new Lambda1<Comparable, Entry<InventoryItem, Integer>>() {
@Override
public Comparable apply(final Entry<InventoryItem, Integer> from) {
return toAiCmp(from.getKey());
return PresetColumns.toAiCmp(from.getKey());
}
};
/** The Constant fnAiStatusGet. */
public static final Lambda1<Object, Entry<InventoryItem, Integer>> fnAiStatusGet = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
public static final Lambda1<Object, Entry<InventoryItem, Integer>> FN_AI_STATUS_GET = new Lambda1<Object, Entry<InventoryItem, Integer>>() {
@Override
public Object apply(final Entry<InventoryItem, Integer> from) {
return toAiStr(from.getKey());
return PresetColumns.toAiStr(from.getKey());
}
};
}

View File

@@ -170,14 +170,14 @@ public final class TableWithCards {
*/
public static String getStats(final ItemPoolView<InventoryItem> deck) {
int total = deck.countAll();
int creature = CardRules.Predicates.Presets.isCreature.aggregate(deck, deck.fnToCard, deck.fnToCount);
int land = CardRules.Predicates.Presets.isLand.aggregate(deck, deck.fnToCard, deck.fnToCount);
int creature = CardRules.Predicates.Presets.IS_CREATURE.aggregate(deck, deck.fnToCard, deck.fnToCount);
int land = CardRules.Predicates.Presets.IS_LAND.aggregate(deck, deck.fnToCard, deck.fnToCount);
StringBuffer show = new StringBuffer();
show.append("Total - ").append(total).append(", Creatures - ").append(creature).append(", Land - ")
.append(land);
String[] color = Constant.Color.ONLY_COLORS;
List<Predicate<CardRules>> predicates = CardRules.Predicates.Presets.colors;
List<Predicate<CardRules>> predicates = CardRules.Predicates.Presets.COLORS;
for (int i = 0; i < color.length; ++i) {
show.append(String.format(", %s - %d", color[i], predicates.get(i).count(deck, deck.fnToCard)));
}
@@ -347,7 +347,7 @@ public final class TableWithCards {
} else if (useFilter) {
model.addCards(filter.select(pool, pool.fnToPrinted));
} else if (wantUnique) {
model.addCards(CardRules.Predicates.Presets.constantTrue.uniqueByLast(pool, pool.fnToCardName,
model.addCards(CardRules.Predicates.Presets.CONSTANT_TRUE.uniqueByLast(pool, pool.fnToCardName,
pool.fnToCard));
}

View File

@@ -82,7 +82,7 @@ public class BoosterPack implements InventoryItemFromSet {
private CardPrinted getRandomBasicLand(final CardSet set) {
return Predicate.and(CardPrinted.Predicates.printedInSets(set.getCode()),
CardRules.Predicates.Presets.isBasicLand, CardPrinted.fnGetRules).random(
CardRules.Predicates.Presets.IS_BASIC_LAND, CardPrinted.fnGetRules).random(
CardDb.instance().getAllCards());
}

View File

@@ -267,12 +267,12 @@ public final class QuestUtilCards {
int winPacks = q.getWin() / 10;
int totalPacks = Math.min(levelPacks + winPacks, 6);
final Predicate<CardSet> filterExt = CardSet.Predicates.Presets.setsInExt;
final Predicate<CardSet> filterT2booster = Predicate.and(CardSet.Predicates.canMakeBooster,
CardSet.Predicates.Presets.setsInT2);
final Predicate<CardSet> filterExtButT2 = Predicate.and(CardSet.Predicates.canMakeBooster,
Predicate.and(filterExt, Predicate.not(CardSet.Predicates.Presets.setsInT2)));
final Predicate<CardSet> filterNotExt = Predicate.and(CardSet.Predicates.canMakeBooster,
final Predicate<CardSet> filterExt = CardSet.Predicates.Presets.SETS_IN_EXT;
final Predicate<CardSet> filterT2booster = Predicate.and(CardSet.Predicates.CAN_MAKE_BOOSTER,
CardSet.Predicates.Presets.SETS_IN_STANDARD);
final Predicate<CardSet> filterExtButT2 = Predicate.and(CardSet.Predicates.CAN_MAKE_BOOSTER,
Predicate.and(filterExt, Predicate.not(CardSet.Predicates.Presets.SETS_IN_STANDARD)));
final Predicate<CardSet> filterNotExt = Predicate.and(CardSet.Predicates.CAN_MAKE_BOOSTER,
Predicate.not(filterExt));
q.shopList.clear();