diff --git a/src/main/java/forge/CardContainer.java b/src/main/java/forge/CardContainer.java index 118f7b9da65..692af1e3153 100644 --- a/src/main/java/forge/CardContainer.java +++ b/src/main/java/forge/CardContainer.java @@ -6,24 +6,29 @@ package forge; - /** - * The class CardContainer. A card container is an object that references a card. - * + * The class CardContainer. A card container is an object that references a + * card. + * * @author Clemens Koza * @version V0.0 17.02.2010 */ public interface CardContainer { /** - *
setCard.
- * - * @param card a {@link forge.Card} object. + *+ * setCard. + *
+ * + * @param card + * a {@link forge.Card} object. */ void setCard(Card card); /** - *getCard.
- * + *+ * getCard. + *
+ * * @return a {@link forge.Card} object. */ Card getCard(); diff --git a/src/main/java/forge/CardFilter.java b/src/main/java/forge/CardFilter.java index 179a969a595..d48f29bca13 100644 --- a/src/main/java/forge/CardFilter.java +++ b/src/main/java/forge/CardFilter.java @@ -9,25 +9,28 @@ import net.slightlymagic.braids.util.lambda.Lambda1; import com.google.code.jyield.Generator; /** - *CardFilter class.
- * + *+ * CardFilter class. + *
+ * * @author Forge * @version $Id$ */ public class CardFilter { - /** * Filter a sequence (iterable) of cards to a list of equal or smaller size * whose names contain the given substring. * * We perform the substring search without sensitivity to case. - * - * @param toBeFiltered an {@link java.lang.Iterable} of Card instances - * @param substring a {@link java.lang.String} object. + * + * @param toBeFiltered + * an {@link java.lang.Iterable} of Card instances + * @param substring + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ - public CardList cardListNameFilter(IterableCardListTextFilter.
- * - * TODO style: rename this method so it starts with a lowercase letter - * - * @param all a {@link forge.CardList} object. - * @param name a {@link java.lang.String} object. + *+ * CardListTextFilter. + *
+ * + * TODO style: rename this method so it starts with a lowercase letter + * + * @param all + * a {@link forge.CardList} object. + * @param name + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ public final CardList CardListTextFilter(CardList all, String name) { @@ -72,14 +79,17 @@ public class CardFilter { return listFilter; } - /** - *CardListColorFilter.
- * - * TODO style: rename this method so it starts with a lowercase letter - * - * @param all a {@link forge.CardList} object. - * @param name a {@link java.lang.String} object. + *+ * CardListColorFilter. + *
+ * + * TODO style: rename this method so it starts with a lowercase letter + * + * @param all + * a {@link forge.CardList} object. + * @param name + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ public final CardList CardListColorFilter(CardList all, String name) { @@ -89,7 +99,7 @@ public class CardFilter { if (name == "black") { for (int i = 0; i < all.size(); i++) { CardName = all.getCard(i); - if (CardUtil.getColors(CardName).contains(Constant.Color.Black) == false) { + if (!CardUtil.getColors(CardName).contains(Constant.Color.Black)) { listFilter.add(CardName); } @@ -99,7 +109,7 @@ public class CardFilter { if (name == "blue") { for (int i = 0; i < all.size(); i++) { CardName = all.getCard(i); - if (CardUtil.getColors(CardName).contains(Constant.Color.Blue) == false) { + if (!CardUtil.getColors(CardName).contains(Constant.Color.Blue)) { listFilter.add(CardName); } @@ -109,7 +119,7 @@ public class CardFilter { if (name == "green") { for (int i = 0; i < all.size(); i++) { CardName = all.getCard(i); - if (CardUtil.getColors(CardName).contains(Constant.Color.Green) == false) { + if (!CardUtil.getColors(CardName).contains(Constant.Color.Green)) { listFilter.add(CardName); } @@ -119,7 +129,7 @@ public class CardFilter { if (name == "red") { for (int i = 0; i < all.size(); i++) { CardName = all.getCard(i); - if (CardUtil.getColors(CardName).contains(Constant.Color.Red) == false) { + if (!CardUtil.getColors(CardName).contains(Constant.Color.Red)) { listFilter.add(CardName); } @@ -129,7 +139,7 @@ public class CardFilter { if (name == "white") { for (int i = 0; i < all.size(); i++) { CardName = all.getCard(i); - if (CardUtil.getColors(CardName).contains(Constant.Color.White) == false) { + if (!CardUtil.getColors(CardName).contains(Constant.Color.White)) { listFilter.add(CardName); } @@ -139,7 +149,7 @@ public class CardFilter { if (name.equals("colorless")) { for (int i = 0; i < all.size(); i++) { CardName = all.getCard(i); - if (CardUtil.getColors(CardName).contains(Constant.Color.Colorless) == false) { + if (!CardUtil.getColors(CardName).contains(Constant.Color.Colorless)) { listFilter.add(CardName); } @@ -150,22 +160,26 @@ public class CardFilter { } /** - *CardListTypeFilter.
- * - * TODO style: rename this method so it starts with a lowercase letter - * - * @param all a {@link forge.CardList} object. - * @param name a {@link java.lang.String} object. + *+ * CardListTypeFilter. + *
+ * + * TODO style: rename this method so it starts with a lowercase letter + * + * @param all + * a {@link forge.CardList} object. + * @param name + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ - public CardList CardListTypeFilter(CardList all, String name) { + public final CardList CardListTypeFilter(CardList all, String name) { Card CardName = new Card(); CardList listFilter = new CardList(); if (name == "artifact") { for (int i = 0; i < all.size(); i++) { CardName = all.getCard(i); - if (CardName.isArtifact() == false) { + if (!CardName.isArtifact()) { listFilter.add(CardName); } @@ -175,7 +189,7 @@ public class CardFilter { if (name == "creature") { for (int i = 0; i < all.size(); i++) { CardName = all.getCard(i); - if (CardName.isCreature() == false) { + if (!CardName.isCreature()) { listFilter.add(CardName); } @@ -185,7 +199,7 @@ public class CardFilter { if (name == "enchantment") { for (int i = 0; i < all.size(); i++) { CardName = all.getCard(i); - if (CardName.isEnchantment() == false) { + if (!CardName.isEnchantment()) { listFilter.add(CardName); } @@ -195,7 +209,7 @@ public class CardFilter { if (name == "instant") { for (int i = 0; i < all.size(); i++) { CardName = all.getCard(i); - if (CardName.isInstant() == false) { + if (!CardName.isInstant()) { listFilter.add(CardName); } @@ -205,7 +219,7 @@ public class CardFilter { if (name == "land") { for (int i = 0; i < all.size(); i++) { CardName = all.getCard(i); - if (CardName.isLand() == false) { + if (!CardName.isLand()) { listFilter.add(CardName); } @@ -215,7 +229,7 @@ public class CardFilter { if (name == "planeswalker") { for (int i = 0; i < all.size(); i++) { CardName = all.getCard(i); - if (CardName.isPlaneswalker() == false) { + if (!CardName.isPlaneswalker()) { listFilter.add(CardName); } @@ -225,7 +239,7 @@ public class CardFilter { if (name.equals("sorcery")) { for (int i = 0; i < all.size(); i++) { CardName = all.getCard(i); - if (CardName.isSorcery() == false) { + if (!CardName.isSorcery()) { listFilter.add(CardName); } @@ -235,100 +249,104 @@ public class CardFilter { return listFilter; } + /** + * Filter an iterable sequence of Cards; note this is a static method that + * is very similar to the non-static one. + * + * @param iterable + * the sequence of cards to examine + * + * @param filt + * determines which cards are present in the resulting list + * + * @return a list of Cards that meet the filtering criteria; may be empty, + * but never null + */ + public static CardList filter(final IterableCardList class.
- * + *+ * CardList class. + *
+ * * @author Forge * @version $Id$ */ public class CardList implements Iterableiterator.
- * + *+ * iterator. + *
+ * * @return a {@link java.util.Iterator} object. */ public final IteratorConstructor for CardList.
+ *+ * Constructor for CardList. + *
*/ public CardList() { } /** - *Constructor for CardList.
- * - * @param c a {@link forge.Card} object. + *+ * Constructor for CardList. + *
+ * + * @param c + * a {@link forge.Card} object. */ public CardList(final Card... c) { addAll(c); } /** - *Constructor for CardList.
- * - * @param al a {@link java.util.ArrayList} object. + *+ * Constructor for CardList. + *
+ * + * @param al + * a {@link java.util.ArrayList} object. */ public CardList(final ListConstructor for CardList.
- * - * @param c an array of {@link java.lang.Object} objects. + *+ * Constructor for CardList. + *
+ * + * @param c + * an array of {@link java.lang.Object} objects. */ public CardList(final Object[] c) { addAll(c); @@ -82,10 +96,11 @@ public class CardList implements IterableGet any cards that exist in the passed in sets list.
- * - * @param sets a {@link java.util.ArrayList} object. + *+ * Get any cards that exist in the passed in sets list. + *
+ * + * @param sets + * a {@link java.util.ArrayList} object. * @return a {@link forge.CardList} object. */ public final CardList getSets(final ArrayListgetColor.
- * - * @param cardColor a {@link java.lang.String} object. + *+ * getColor. + *
+ * + * @param cardColor + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ public final CardList getColor(final String cardColor) { @@ -148,13 +169,17 @@ public class CardList implements IterablegetOnly2Colors.
- * - * @param clr1 a {@link java.lang.String} object. - * @param clr2 a {@link java.lang.String} object. + *+ * getOnly2Colors. + *
+ * + * @param clr1 + * a {@link java.lang.String} object. + * @param clr2 + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ public final CardList getOnly2Colors(final String clr1, final String clr2) { @@ -166,8 +191,7 @@ public class CardList implements Iterablereverse.
+ *+ * reverse. + *
*/ public final void reverse() { Collections.reverse(list); @@ -205,11 +231,14 @@ public class CardList implements Iterableremove.
- * - * @param cardName a {@link java.lang.String} object. + *+ * remove. + *
+ * + * @param cardName + * a {@link java.lang.String} object. */ public final void remove(final String cardName) { CardList find = this.filter(new CardListFilter() { @@ -221,15 +250,17 @@ public class CardList implements Iterablesize.
- * + *+ * size. + *
+ * * @return a int. */ public final int size() { @@ -237,19 +268,26 @@ public class CardList implements Iterableadd.
- * - * @param c a {@link forge.Card} object. + *+ * add. + *
+ * + * @param c + * a {@link forge.Card} object. */ public final void add(final Card c) { list.add(c); } /** - *add.
- * - * @param n a int. - * @param c a {@link forge.Card} object. + *+ * add. + *
+ * + * @param n + * a int. + * @param c + * a {@link forge.Card} object. */ public final void add(final int n, final Card c) { list.add(n, c); @@ -257,17 +295,21 @@ public class CardList implements IterableaddAll.
- * - * @param c an array of {@link java.lang.Object} objects. + *+ * addAll. + *
+ * + * @param c + * an array of {@link java.lang.Object} objects. */ public final void addAll(final Object[] c) { for (int i = 0; i < c.length; i++) { @@ -276,20 +318,26 @@ public class CardList implements Iterablecontains.
- * - * @param c a {@link forge.Card} object. + *+ * contains. + *
+ * + * @param c + * a {@link forge.Card} object. * @return a boolean. */ public final boolean contains(final Card c) { return list.contains(c); } - //probably remove getCard() in the future + // probably remove getCard() in the future /** - *getCard.
- * - * @param index a int. + *+ * getCard. + *
+ * + * @param index + * a int. * @return a {@link forge.Card} object. */ public final Card getCard(final int index) { @@ -297,9 +345,12 @@ public class CardList implements Iterableget.
- * - * @param i a int. + *+ * get. + *
+ * + * @param i + * a int. * @return a {@link forge.Card} object. */ public final Card get(final int i) { @@ -307,9 +358,12 @@ public class CardList implements IterablecontainsName.
- * - * @param c a {@link forge.Card} object. + *+ * containsName. + *
+ * + * @param c + * a {@link forge.Card} object. * @return a boolean. */ public final boolean containsName(final Card c) { @@ -317,9 +371,12 @@ public class CardList implements IterablecontainsName.
- * - * @param name a {@link java.lang.String} object. + *+ * containsName. + *
+ * + * @param name + * a {@link java.lang.String} object. * @return a boolean. */ public final boolean containsName(final String name) { @@ -332,11 +389,14 @@ public class CardList implements IterablegetName.
- * - * @param name a {@link java.lang.String} object. + *+ * getName. + *
+ * + * @param name + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ public final CardList getName(final String name) { @@ -351,11 +411,14 @@ public class CardList implements IterablegetNotName.
- * - * @param name a {@link java.lang.String} object. + *+ * getNotName. + *
+ * + * @param name + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ public final CardList getNotName(final String name) { @@ -371,9 +434,12 @@ public class CardList implements IterablegetImageName.
- * - * @param name a {@link java.lang.String} object. + *+ * getImageName. + *
+ * + * @param name + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ public final CardList getImageName(final String name) { @@ -389,9 +455,12 @@ public class CardList implements IterablegetController.
- * - * @param player a {@link forge.Player} object. + *+ * getController. + *
+ * + * @param player + * a {@link forge.Player} object. * @return a {@link forge.CardList} object. */ public final CardList getController(final Player player) { @@ -403,9 +472,12 @@ public class CardList implements IterablegetOwner.
- * - * @param player a {@link forge.Player} object. + *+ * getOwner. + *
+ * + * @param player + * a {@link forge.Player} object. * @return a {@link forge.CardList} object. */ public final CardList getOwner(final Player player) { @@ -416,11 +488,15 @@ public class CardList implements IterablegetType.
- * - * @param cardType a {@link java.lang.String} object. + *+ * getType. + *
+ * + * @param cardType + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ public final CardList getType(final String cardType) { @@ -431,11 +507,15 @@ public class CardList implements IterablegetNotType.
- * - * @param cardType a {@link java.lang.String} object. + *+ * getNotType. + *
+ * + * @param cardType + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ public final CardList getNotType(final String cardType) { @@ -447,8 +527,10 @@ public class CardList implements IterablegetPermanents.
- * + *+ * getPermanents. + *
+ * * @return a {@link forge.CardList} object. */ public final CardList getPermanents() { @@ -460,9 +542,12 @@ public class CardList implements IterablegetKeyword.
- * - * @param keyword a {@link java.lang.String} object. + *+ * getKeyword. + *
+ * + * @param keyword + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ public final CardList getKeyword(final String keyword) { @@ -474,9 +559,12 @@ public class CardList implements IterablegetNotKeyword.
- * - * @param keyword a {@link java.lang.String} object. + *+ * getNotKeyword. + *
+ * + * @param keyword + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ public final CardList getNotKeyword(final String keyword) { @@ -487,11 +575,14 @@ public class CardList implements IterablegetKeywordsContain.
- * - * @param keyword a {@link java.lang.String} object. + *+ * getKeywordsContain. + *
+ * + * @param keyword + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ public final CardList getKeywordsContain(final String keyword) { @@ -502,11 +593,14 @@ public class CardList implements IterablegetKeywordsDontContain.
- * - * @param keyword a {@link java.lang.String} object. + *+ * getKeywordsDontContain. + *
+ * + * @param keyword + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ public final CardList getKeywordsDontContain(final String keyword) { @@ -518,8 +612,10 @@ public class CardList implements IterablegetTokens.
- * + *+ * getTokens. + *
+ * * @return a {@link forge.CardList} object. */ public final CardList getTokens() { @@ -533,18 +629,21 @@ public class CardList implements IterabletoArray.
- * + *+ * toArray. + *
+ * * @return an array of {@link forge.Card} objects. */ public final Card[] toArray() { @@ -560,8 +659,10 @@ public class CardList implements IterableisEmpty.
- * + *+ * isEmpty. + *
+ * * @return a boolean. */ public final boolean isEmpty() { @@ -569,9 +670,12 @@ public class CardList implements Iterableremove.
- * - * @param i a int. + *+ * remove. + *
+ * + * @param i + * a int. * @return a {@link forge.Card} object. */ public final Card remove(final int i) { @@ -579,18 +683,24 @@ public class CardList implements Iterableremove.
- * - * @param c a {@link forge.Card} object. + *+ * remove. + *
+ * + * @param c + * a {@link forge.Card} object. */ public final void remove(final Card c) { list.remove(c); } /** - *removeAll.
- * - * @param c a {@link forge.Card} object. + *+ * removeAll. + *
+ * + * @param c + * a {@link forge.Card} object. */ public final void removeAll(final Card c) { ArrayListclear.
+ *+ * clear. + *
*/ public final void clear() { list.clear(); } /** - *shuffle.
+ *+ * shuffle. + *
*/ public final void shuffle() { // reseed Random each time we want to Shuffle - //MyRandom.random = MyRandom.random; + // MyRandom.random = MyRandom.random; Collections.shuffle(list, MyRandom.random); Collections.shuffle(list, MyRandom.random); Collections.shuffle(list, MyRandom.random); } /** - *sort.
- * - * @param c a {@link java.util.Comparator} object. + *+ * sort. + *
+ * + * @param c + * a {@link java.util.Comparator} object. */ public final void sort(final ComparatorgetTargetableCards.
- * - * @param source a {@link forge.Card} object. + *+ * getTargetableCards. + *
+ * + * @param source + * a {@link forge.Card} object. * @return a {@link forge.CardList} object. */ public final CardList getTargetableCards(final Card source) { @@ -640,25 +760,33 @@ public class CardList implements IterablegetUnprotectedCards.
- * - * @param source a {@link forge.Card} object. + *+ * getUnprotectedCards. + *
+ * + * @param source + * a {@link forge.Card} object. * @return a {@link forge.CardList} object. */ public final CardList getUnprotectedCards(final Card source) { return this.filter(new CardListFilter() { public boolean addCard(final Card c) { - return !CardFactoryUtil.hasProtectionFrom(source, c); + return !CardFactoryUtil.hasProtectionFrom(source, c); } }); } /** - *getValidCards.
- * - * @param restrictions a {@link java.lang.String} object. - * @param sourceController a {@link forge.Player} object. - * @param source a {@link forge.Card} object. + *+ * getValidCards. + *
+ * + * @param restrictions + * a {@link java.lang.String} object. + * @param sourceController + * a {@link forge.Player} object. + * @param source + * a {@link forge.Card} object. * @return a {@link forge.CardList} object. */ public final CardList getValidCards(final String restrictions, final Player sourceController, final Card source) { @@ -666,11 +794,16 @@ public class CardList implements IterablegetValidCards.
- * - * @param restrictions a {@link java.lang.String} object. - * @param sourceController a {@link forge.Player} object. - * @param source a {@link forge.Card} object. + *+ * getValidCards. + *
+ * + * @param restrictions + * a {@link java.lang.String} object. + * @param sourceController + * a {@link forge.Player} object. + * @param source + * a {@link forge.Card} object. * @return a {@link forge.CardList} object. */ public final CardList getValidCards(final String[] restrictions, final Player sourceController, final Card source) { @@ -682,36 +815,42 @@ public class CardList implements IterablegetEquipMagnets.
- * + *+ * getEquipMagnets. + *
+ * * @return a {@link forge.CardList} object. */ public final CardList getEquipMagnets() { return this.filter(new CardListFilter() { public boolean addCard(final Card c) { - return (c.isCreature() && (c.getSVar("EquipMe").equals("Multiple") - || (c.getSVar("EquipMe").equals("Once") && !c.isEquipped()))); + return (c.isCreature() && (c.getSVar("EquipMe").equals("Multiple") || (c.getSVar("EquipMe").equals( + "Once") && !c.isEquipped()))); } }); } /** - *getEnchantMagnets.
- * + *+ * getEnchantMagnets. + *
+ * * @return a {@link forge.CardList} object. */ public final CardList getEnchantMagnets() { return this.filter(new CardListFilter() { public boolean addCard(final Card c) { - return (c.isCreature() && (c.getSVar("EnchantMe").equals("Multiple") - || (c.getSVar("EnchantMe").equals("Once") && !c.isEnchanted()))); + return (c.isCreature() && (c.getSVar("EnchantMe").equals("Multiple") || (c.getSVar("EnchantMe").equals( + "Once") && !c.isEnchanted()))); } }); } /** - *getTotalConvertedManaCost.
- * + *+ * getTotalConvertedManaCost. + *
+ * * @return a int. */ public final int getTotalConvertedManaCost() { @@ -721,14 +860,16 @@ public class CardList implements IterablegetTotalCreaturePower.
+ *+ * getTotalCreaturePower. + *
* * @return a int. */ - + public final int getTotalCreaturePower() { int total = 0; for (int i = 0; i < size(); i++) { @@ -738,8 +879,10 @@ public class CardList implements IterablegetHighestConvertedManaCost.
- * + *+ * getHighestConvertedManaCost. + *
+ * * @return a int. * @since 1.0.15 */ @@ -752,8 +895,10 @@ public class CardList implements IterablegetColored.
- * + *+ * getColored. + *
+ * * @return a {@link forge.CardList} object. */ public final CardList getColored() { @@ -767,8 +912,10 @@ public class CardList implements IterableCardListFilter interface.
- * + *+ * CardListFilter interface. + *
+ * * @author Forge * @version $Id$ */ public interface CardListFilter { /** - *addCard.
- * - * @param c a {@link forge.Card} object. + *+ * addCard. + *
+ * + * @param c + * a {@link forge.Card} object. * @return a boolean. */ boolean addCard(Card c); - + /** * a CardListFilter to get all cards that are tapped. */ - public static final CardListFilter tapped = new CardListFilter() { + CardListFilter tapped = new CardListFilter() { public boolean addCard(final Card c) { return c.isTapped(); } @@ -27,7 +32,7 @@ public interface CardListFilter { /** * a CardListFilter to get all cards that are untapped. */ - public static final CardListFilter untapped = new CardListFilter() { + CardListFilter untapped = new CardListFilter() { public boolean addCard(final Card c) { return c.isUntapped(); } @@ -36,7 +41,7 @@ public interface CardListFilter { /** * a CardListFilter to get all creatures. */ - public static final CardListFilter creatures = new CardListFilter() { + CardListFilter creatures = new CardListFilter() { public boolean addCard(final Card c) { return c.isCreature(); } @@ -45,7 +50,7 @@ public interface CardListFilter { /** * a CardListFilter to get all enchantments. */ - public static final CardListFilter enchantments = new CardListFilter() { + CardListFilter enchantments = new CardListFilter() { public boolean addCard(final Card c) { return c.isEnchantment(); } @@ -54,7 +59,7 @@ public interface CardListFilter { /** * a CardListFilter to get all equipment. */ - public static final CardListFilter equipment = new CardListFilter() { + CardListFilter equipment = new CardListFilter() { public boolean addCard(final Card c) { return c.isEquipment(); } @@ -63,7 +68,7 @@ public interface CardListFilter { /** * a CardListFilter to get all unenchanted cards in a list. */ - public static final CardListFilter unenchanted = new CardListFilter() { + CardListFilter unenchanted = new CardListFilter() { public boolean addCard(final Card c) { return !c.isEnchanted(); } @@ -72,7 +77,7 @@ public interface CardListFilter { /** * a CardListFilter to get all enchanted cards in a list. */ - public static final CardListFilter enchanted = new CardListFilter() { + CardListFilter enchanted = new CardListFilter() { public boolean addCard(final Card c) { return c.isEnchanted(); } @@ -81,7 +86,7 @@ public interface CardListFilter { /** * a CardListFilter to get all nontoken cards. */ - public static final CardListFilter nonToken = new CardListFilter() { + CardListFilter nonToken = new CardListFilter() { public boolean addCard(final Card c) { return !c.isToken(); } @@ -90,7 +95,7 @@ public interface CardListFilter { /** * a CardListFilter to get all token cards. */ - public static final CardListFilter token = new CardListFilter() { + CardListFilter token = new CardListFilter() { public boolean addCard(final Card c) { return c.isToken(); } @@ -99,7 +104,7 @@ public interface CardListFilter { /** * a CardListFilter to get all nonbasic lands. */ - public static final CardListFilter nonBasicLand = new CardListFilter() { + CardListFilter nonBasicLand = new CardListFilter() { public boolean addCard(final Card c) { return !c.isBasicLand(); } @@ -108,9 +113,9 @@ public interface CardListFilter { /** * a CardListFilter to get all basicLands. */ - public static final CardListFilter basicLands = new CardListFilter() { + CardListFilter basicLands = new CardListFilter() { public boolean addCard(final Card c) { - //the isBasicLand() check here may be sufficient... + // the isBasicLand() check here may be sufficient... return c.isLand() && c.isBasicLand(); } }; @@ -118,7 +123,7 @@ public interface CardListFilter { /** * a CardListFilter to get all artifacts. */ - public static final CardListFilter artifacts = new CardListFilter() { + CardListFilter artifacts = new CardListFilter() { public boolean addCard(final Card c) { return c.isArtifact(); } @@ -127,7 +132,7 @@ public interface CardListFilter { /** * a CardListFilter to get all nonartifacts. */ - public static final CardListFilter nonartifacts = new CardListFilter() { + CardListFilter nonartifacts = new CardListFilter() { public boolean addCard(final Card c) { return !c.isArtifact(); } @@ -136,7 +141,7 @@ public interface CardListFilter { /** * a CardListFilter to get all lands. */ - public static final CardListFilter lands = new CardListFilter() { + CardListFilter lands = new CardListFilter() { public boolean addCard(final Card c) { return c.isLand(); } @@ -145,17 +150,16 @@ public interface CardListFilter { /** * a CardListFilter to get all nonlands. */ - public static final CardListFilter nonlands = new CardListFilter() { + CardListFilter nonlands = new CardListFilter() { public boolean addCard(final Card c) { return !c.isLand(); } - }; - + }; /** * a CardListFilter to get all cards that are black. */ - public static final CardListFilter black = new CardListFilter() { + CardListFilter black = new CardListFilter() { public boolean addCard(final Card c) { return c.isBlack(); } @@ -164,7 +168,7 @@ public interface CardListFilter { /** * a CardListFilter to get all cards that are blue. */ - public static final CardListFilter blue = new CardListFilter() { + CardListFilter blue = new CardListFilter() { public boolean addCard(final Card c) { return c.isBlue(); } @@ -173,7 +177,7 @@ public interface CardListFilter { /** * a CardListFilter to get all cards that are green. */ - public static final CardListFilter green = new CardListFilter() { + CardListFilter green = new CardListFilter() { public boolean addCard(final Card c) { return c.isGreen(); } @@ -182,7 +186,7 @@ public interface CardListFilter { /** * a CardListFilter to get all cards that are red. */ - public static final CardListFilter red = new CardListFilter() { + CardListFilter red = new CardListFilter() { public boolean addCard(final Card c) { return c.isRed(); } @@ -191,7 +195,7 @@ public interface CardListFilter { /** * a CardListFilter to get all cards that are white. */ - public static final CardListFilter white = new CardListFilter() { + CardListFilter white = new CardListFilter() { public boolean addCard(final Card c) { return c.isWhite(); } diff --git a/src/main/java/forge/CardListUtil.java b/src/main/java/forge/CardListUtil.java index 186c70bdfc5..3ea0d298209 100644 --- a/src/main/java/forge/CardListUtil.java +++ b/src/main/java/forge/CardListUtil.java @@ -1,183 +1,224 @@ package forge; -import com.esotericsoftware.minlog.Log; -import forge.card.cardFactory.CardFactoryUtil; - import java.util.ArrayList; import java.util.Comparator; +import com.esotericsoftware.minlog.Log; + +import forge.card.cardFactory.CardFactoryUtil; + /** - *CardListUtil class.
- * + *+ * CardListUtil class. + *
+ * * @author Forge * @version $Id$ */ public class CardListUtil { /** - *filterToughness.
- * - * @param in a {@link forge.CardList} object. - * @param atLeastToughness a int. + *+ * filterToughness. + *
+ * + * @param in + * a {@link forge.CardList} object. + * @param atLeastToughness + * a int. * @return a {@link forge.CardList} object. */ - public static CardList filterToughness(CardList in, int atLeastToughness) { + public static CardList filterToughness(final CardList in, final int atLeastToughness) { CardList out = new CardList(); - for (int i = 0; i < in.size(); i++) - if (in.get(i).getNetDefense() <= atLeastToughness) + for (int i = 0; i < in.size(); i++) { + if (in.get(i).getNetDefense() <= atLeastToughness) { out.add(in.get(i)); + } + } return out; } - //the higher the defense the better + // the higher the defense the better /** - *sortDefense.
- * - * @param list a {@link forge.CardList} object. + *+ * sortDefense. + *
+ * + * @param list + * a {@link forge.CardList} object. */ - public static void sortDefense(CardList list) { + public static void sortDefense(final CardList list) { ComparatorsortAttack.
- * - * @param list a {@link forge.CardList} object. + *+ * sortAttack. + *
+ * + * @param list + * a {@link forge.CardList} object. */ - public static void sortAttack(CardList list) { + public static void sortAttack(final CardList list) { ComparatorsortByEvaluateCreature.
- * - * @param list a {@link forge.CardList} object. + *+ * sortByEvaluateCreature. + *
+ * + * @param list + * a {@link forge.CardList} object. */ - public static void sortByEvaluateCreature(CardList list) { + public static void sortByEvaluateCreature(final CardList list) { ComparatorsortByMostExpensive.
- * - * @param list a {@link forge.CardList} object. + *+ * sortByMostExpensive. + *
+ * + * @param list + * a {@link forge.CardList} object. */ - public static void sortByMostExpensive(CardList list) { + public static void sortByMostExpensive(final CardList list) { ComparatorsortAttackLowFirst.
- * - * @param list a {@link forge.CardList} object. + *+ * sortAttackLowFirst. + *
+ * + * @param list + * a {@link forge.CardList} object. */ - public static void sortAttackLowFirst(CardList list) { + public static void sortAttackLowFirst(final CardList list) { ComparatorsortNonFlyingFirst.
- * - * @param list a {@link forge.CardList} object. + *+ * sortNonFlyingFirst. + *
+ * + * @param list + * a {@link forge.CardList} object. */ - public static void sortNonFlyingFirst(CardList list) { + public static void sortNonFlyingFirst(final CardList list) { sortFlying(list); list.reverse(); - }//sortNonFlyingFirst + } // sortNonFlyingFirst - //the creature with flying are better + // the creature with flying are better /** - *sortFlying.
- * - * @param list a {@link forge.CardList} object. + *+ * sortFlying. + *
+ * + * @param list + * a {@link forge.CardList} object. */ - public static void sortFlying(CardList list) { + public static void sortFlying(final CardList list) { ComparatorsortByKeyword.
- * - * @param list a {@link forge.CardList} object. - * @param kw a {@link java.lang.String} object. + *+ * sortByKeyword. + *
+ * + * @param list + * a {@link forge.CardList} object. + * @param kw + * a {@link java.lang.String} object. */ - public static void sortByKeyword(CardList list, String kw) { + public static void sortByKeyword(final CardList list, final String kw) { final String keyword = kw; ComparatorsortByDestroyEffect.
- * - * @param list a {@link forge.CardList} object. + *+ * sortByDestroyEffect. + *
+ * + * @param list + * a {@link forge.CardList} object. */ - public static void sortByDestroyEffect(CardList list) { + public static void sortByDestroyEffect(final CardList list) { ComparatorsortByIndestructible.
- * - * @param list a {@link forge.CardList} object. + *+ * sortByIndestructible. + *
+ * + * @param list + * a {@link forge.CardList} object. */ - public static void sortByIndestructible(CardList list) { + public static void sortByIndestructible(final CardList list) { final ArrayListsortByTapped.
- * - * @param list a {@link forge.CardList} object. + *+ * sortByTapped. + *
+ * + * @param list + * a {@link forge.CardList} object. */ - public static void sortByTapped(CardList list) { + public static void sortByTapped(final CardList list) { ComparatorsortByName.
- * - * @param list a {@link forge.CardList} object. + *+ * sortByName. + *
+ * + * @param list + * a {@link forge.CardList} object. */ - public static void sortByName(CardList list) { + public static void sortByName(final CardList list) { ComparatorsortBySelectable.
- * - * @param list a {@link forge.CardList} object. - * @param type a {@link java.lang.String} object. + *+ * sortBySelectable. + *
+ * + * @param list + * a {@link forge.CardList} object. + * @param type + * a {@link java.lang.String} object. */ - public static void sortBySelectable(CardList list, String type) { + public static void sortBySelectable(final CardList list, final String type) { final String t = type; ComparatorsortByTextLen.
- * - * @param list a {@link forge.CardList} object. + *+ * sortByTextLen. + *
+ * + * @param list + * a {@link forge.CardList} object. */ - public static void sortByTextLen(CardList list) { + public static void sortByTextLen(final CardList list) { ComparatorsortCMC.
- * - * @param list a {@link forge.CardList} object. + *+ * sortCMC. + *
+ * + * @param list + * a {@link forge.CardList} object. */ - public static void sortCMC(CardList list) { + public static void sortCMC(final CardList list) { ComparatorgetColor.
- * - * @param list a {@link forge.CardList} object. - * @param color a {@link java.lang.String} object. + *+ * getColor. + *
+ * + * @param list + * a {@link forge.CardList} object. + * @param color + * a {@link java.lang.String} object. * @return a {@link forge.CardList} object. */ - public static CardList getColor(CardList list, final String color) { + public static CardList getColor(final CardList list, final String color) { return list.filter(new CardListFilter() { - public boolean addCard(Card c) { + public boolean addCard(final Card c) { return CardUtil.getColors(c).contains(color); } }); - }//getColor() + } // getColor() /** - *getGoldCards.
- * - * @param list a {@link forge.CardList} object. + *+ * getGoldCards. + *
+ * + * @param list + * a {@link forge.CardList} object. * @return a {@link forge.CardList} object. */ - public static CardList getGoldCards(CardList list) { + public static CardList getGoldCards(final CardList list) { return list.filter(new CardListFilter() { - public boolean addCard(Card c) { + public boolean addCard(final Card c) { return CardUtil.getColors(c).size() >= 2; } }); } /** - *sumAttack.
- * - * @param c a {@link forge.CardList} object. + *+ * sumAttack. + *
+ * + * @param c + * a {@link forge.CardList} object. * @return a int. */ - public static int sumAttack(CardList c) { + public static int sumAttack(final CardList c) { int attack = 0; for (int i = 0; i < c.size(); i++) { - //if(c.get(i).isCreature() && c.get(i).hasSecondStrike()) { - if (c.get(i).isCreature() && (!c.get(i).hasFirstStrike() || (c.get(i).hasDoubleStrike() && c.get(i).hasFirstStrike()))) { + // if(c.get(i).isCreature() && c.get(i).hasSecondStrike()) { + if (c.get(i).isCreature() + && (!c.get(i).hasFirstStrike() || (c.get(i).hasDoubleStrike() && c.get(i).hasFirstStrike()))) + { attack += c.get(i).getNetCombatDamage(); } } - //System.out.println("Total attack: " +attack); + // System.out.println("Total attack: " +attack); return attack; - }//sumAttack() + } // sumAttack() /** - *sumDefense.
- * - * @param c a {@link forge.CardList} object. + *+ * sumDefense. + *
+ * + * @param c + * a {@link forge.CardList} object. * @return a int. */ - public static int sumDefense(CardList c) { + public static int sumDefense(final CardList c) { int defense = 0; for (int i = 0; i < c.size(); i++) { - //if(c.get(i).isCreature() && c.get(i).hasSecondStrike()) { - if (c.get(i).isCreature()) + // if(c.get(i).isCreature() && c.get(i).hasSecondStrike()) { + if (c.get(i).isCreature()) { defense += c.get(i).getNetDefense(); + } } - //System.out.println("Total attack: " +attack); + // System.out.println("Total attack: " +attack); return defense; - }//sumAttack() + } // sumAttack() /** - *sumFirstStrikeAttack.
- * - * @param c a {@link forge.CardList} object. + *+ * sumFirstStrikeAttack. + *
+ * + * @param c + * a {@link forge.CardList} object. * @return a int. */ - public static int sumFirstStrikeAttack(CardList c) { + public static int sumFirstStrikeAttack(final CardList c) { int attack = 0; for (int i = 0; i < c.size(); i++) { @@ -431,33 +516,47 @@ public class CardListUtil { } Log.debug("Total First Strike attack: " + attack); return attack; - }//sumFirstStrikeAttack() + } // sumFirstStrikeAttack() - //Get the total converted mana cost of a card list + // Get the total converted mana cost of a card list /** - *sumCMC.
- * - * @param c a {@link forge.CardList} object. + *+ * sumCMC. + *
+ * + * @param c + * a {@link forge.CardList} object. * @return a int. */ - public static int sumCMC(CardList c) { + public static int sumCMC(final CardList c) { int cmc = 0; for (int i = 0; i < c.size(); i++) { cmc += CardUtil.getConvertedManaCost(c.get(i).getManaCost()); } - //System.out.println("Total CMC: " +cmc); + // System.out.println("Total CMC: " +cmc); return cmc; - }//sumCMC - - public static CardList getRandomSubList(CardList c, int amount){ - if (c.size() < amount) + } // sumCMC + + /** + * + * TODO Write javadoc for this method. + * + * @param c + * CardList + * @param amount + * int + * @return CardList + */ + public static CardList getRandomSubList(final CardList c, final int amount) { + if (c.size() < amount) { return null; - + } + CardList subList = new CardList(); - while(subList.size() < amount){ + while (subList.size() < amount) { c.shuffle(); subList.add(c.get(0)); c.remove(0); diff --git a/src/main/java/forge/CardReader.java b/src/main/java/forge/CardReader.java index 48ea974b9c5..4adbb7770e6 100644 --- a/src/main/java/forge/CardReader.java +++ b/src/main/java/forge/CardReader.java @@ -27,7 +27,6 @@ import net.slightlymagic.braids.util.progress_monitor.StderrProgressMonitor; import com.google.code.jyield.Generator; import com.google.code.jyield.YieldUtils; -import forge.card.CardColor; import forge.card.CardRules; import forge.card.CardRulesReader; import forge.card.trigger.TriggerHandler; @@ -35,33 +34,57 @@ import forge.error.ErrorViewer; import forge.properties.NewConstants; import forge.view.FView; - /** - *CardReader class.
- * + *+ * CardReader class. + *
+ * * @author Forge * @version $Id$ */ -public class CardReader - implements Runnable, // NOPMD by Braids on 8/18/11 10:55 PM - NewConstants -{ - private static final String CARD_FILE_DOT_EXTENSION = ".txt"; // NOPMD by Braids on 8/18/11 11:04 PM +public class CardReader implements Runnable, NewConstants { + // NOPMD by Braids on 8/18/11 10:55 + // PM + private static final String CARD_FILE_DOT_EXTENSION = ".txt"; // NOPMD by + // Braids on + // 8/18/11 + // 11:04 PM /** Default charset when loading from files. */ - public static final String DEFAULT_CHARSET_NAME = "US-ASCII"; // NOPMD by Braids on 8/18/11 10:54 PM + public static final String DEFAULT_CHARSET_NAME = "US-ASCII"; // NOPMD by + // Braids on + // 8/18/11 + // 10:54 PM /** Regex that matches a single hyphen (-) or space. */ public static final Pattern HYPHEN_OR_SPACE = Pattern.compile("[ -]"); /** Regex for punctuation that we omit from card file names. */ - public static final Pattern PUNCTUATION_TO_ZAP = Pattern.compile("[,'\"]"); // NOPMD by Braids on 8/18/11 10:54 PM + public static final Pattern PUNCTUATION_TO_ZAP = Pattern.compile("[,'\"]"); // NOPMD + // by + // Braids + // on + // 8/18/11 + // 10:54 + // PM /** Regex that matches two or more underscores (_). */ - public static final Pattern MULTIPLE_UNDERSCORES = Pattern.compile("__+"); // NOPMD by Braids on 8/18/11 10:54 PM + public static final Pattern MULTIPLE_UNDERSCORES = Pattern.compile("__+"); // NOPMD + // by + // Braids + // on + // 8/18/11 + // 10:54 + // PM /** Special value for estimatedFilesRemaining. */ - protected static final int UNKNOWN_NUMBER_OF_FILES_REMAINING = -1; // NOPMD by Braids on 8/18/11 10:54 PM + protected static final int UNKNOWN_NUMBER_OF_FILES_REMAINING = -1; // NOPMD + // by + // Braids + // on + // 8/18/11 + // 10:54 + // PM private transient MapConstructor for CardReader.
- * - * @param theCardsFolder indicates location of the cardsFolder - * - * @param theMapToFill maps card names to Card instances; this is where we - * place the cards once read - * - * @param useZip if true, attempts to load cards from a zip file, if one exists. + *+ * Constructor for CardReader. + *
+ * + * @param theCardsFolder + * indicates location of the cardsFolder + * + * @param theMapToFill + * maps card names to Card instances; this is where we place the + * cards once read + * @param listRules2Fill + * ListaddTypes to an existing card.
- * - * @param card a {@link forge.Card} object. - * @param types a {@link java.lang.String} object. + *+ * addTypes to an existing card. + *
+ * + * @param card + * a {@link forge.Card} object. + * @param types + * a {@link java.lang.String} object. */ public static void addTypes(final Card card, final String types) { final StringTokenizer tok = new StringTokenizer(types); @@ -283,13 +337,16 @@ public class CardReader } /** - *Reads a line from the given reader and handles exceptions.
- * + *+ * Reads a line from the given reader and handles exceptions. + *
+ * * @return a {@link java.lang.String} object. - * @param reader a {@link java.io.BufferedReader} object. + * @param reader + * a {@link java.io.BufferedReader} object. */ public static String readLine(final BufferedReader reader) { - //makes the checked exception, into an unchecked runtime exception + // makes the checked exception, into an unchecked runtime exception try { String line = reader.readLine(); if (line != null) { @@ -298,15 +355,24 @@ public class CardReader return line; } catch (Exception ex) { ErrorViewer.showError(ex); - throw new RuntimeException("CardReader : readLine(Card) error", ex); // NOPMD by Braids on 8/18/11 10:53 PM + throw new RuntimeException("CardReader : readLine(Card) error", ex); // NOPMD + // by + // Braids + // on + // 8/18/11 + // 10:53 + // PM } - } //readLine(BufferedReader) + } // readLine(BufferedReader) /** - *load a card.
- * - * @param inputStream the stream from which to load the card's information - * + *+ * load a card. + *
+ * + * @param inputStream + * the stream from which to load the card's information + * * @return the card loaded from the stream */ protected final Card loadCard(final InputStream inputStream) { @@ -322,21 +388,22 @@ public class CardReader String line = readLine(reader); while (!"End".equals(line)) { rulesReader.parseLine(line); - if(line.isEmpty()) { - //Ignore empty lines. - } else if (line.charAt(0) == '#') { // NOPMD by Braids on 8/18/11 10:59 PM - //no need to do anything, this indicates a comment line + if (line.isEmpty()) { + // Ignore empty lines. + } else if (line.charAt(0) == '#') { // NOPMD by Braids on + // 8/18/11 10:59 PM + // no need to do anything, this indicates a comment line } else if (line.startsWith("Name:")) { final String value = line.substring(5); - //System.out.println(s); + // System.out.println(s); if (mapToFill.containsKey(value)) { - break; // this card has already been loaded. + break; // this card has already been loaded. } else { card.setName(value); } } else if (line.startsWith("ManaCost:")) { final String value = line.substring(9); - //System.out.println(s); + // System.out.println(s); if (!"no cost".equals(value)) { card.setManaCost(value); } @@ -391,13 +458,14 @@ public class CardReader card.addStaticAbilityString(value); } else if (line.startsWith("SetInfo:")) { final String value = line.substring("SetInfo:".length()); - card.addSet(new SetInfo(value)); // NOPMD by Braids on 8/18/11 11:08 PM + card.addSet(new SetInfo(value)); // NOPMD by Braids on + // 8/18/11 11:08 PM } else if (line.equals("ALTERNATE")) { card.addAlternateState(); card.changeState(); } else if (line.startsWith("AlternateMode:")) { final String value = line.substring("AlternateMode:".length()); - if(value.equalsIgnoreCase("Flip")) { + if (value.equalsIgnoreCase("Flip")) { card.setFlip(true); } else { card.setDoubleFaced(true); @@ -405,12 +473,12 @@ public class CardReader } else if (line.startsWith("Colors:")) { final String value = line.substring("Colors:".length()); ArrayListCardUtil class.
- * + *+ * CardUtil class. + *
+ * * @author Forge * @version $Id$ */ @@ -31,7 +33,6 @@ public final class CardUtil { /** ConstantRANDOM. */
public static final Random RANDOM = MyRandom.random;
-
/**
* Do not instantiate.
*/
@@ -40,24 +41,29 @@ public final class CardUtil {
}
/**
- * getRandomIndex.
- * - * @param o an array of {@link java.lang.Object} objects. + *+ * getRandomIndex. + *
+ * + * @param o + * an array of {@link java.lang.Object} objects. * @return a int. */ public static int getRandomIndex(final Object[] o) { if (o == null || o.length == 0) { - throw new RuntimeException( - "CardUtil : getRandomIndex() argument is null or length is 0"); + throw new RuntimeException("CardUtil : getRandomIndex() argument is null or length is 0"); } return RANDOM.nextInt(o.length); } /** - *getRandom.
- * - * @param o an array of {@link forge.Card} objects. + *+ * getRandom. + *
+ * + * @param o + * an array of {@link forge.Card} objects. * @return a {@link forge.Card} object. */ public static Card getRandom(final Card[] o) { @@ -65,36 +71,44 @@ public final class CardUtil { } /** - *getRandomIndex.
- * - * @param list a {@link forge.card.spellability.SpellAbilityList} object. + *+ * getRandomIndex. + *
+ * + * @param list + * a {@link forge.card.spellability.SpellAbilityList} object. * @return a int. */ public static int getRandomIndex(final SpellAbilityList list) { if (list == null || list.size() == 0) { - throw new RuntimeException( - "CardUtil : getRandomIndex(SpellAbilityList) argument is null or length is 0"); + throw new RuntimeException("CardUtil : getRandomIndex(SpellAbilityList) argument is null or length is 0"); } return RANDOM.nextInt(list.size()); } /** - *getRandomIndex.
- * - * @param c a {@link forge.CardList} object. + *+ * getRandomIndex. + *
+ * + * @param c + * a {@link forge.CardList} object. * @return a int. */ public static int getRandomIndex(final CardList c) { return RANDOM.nextInt(c.size()); } - //returns Card Name (unique number) attack/defense - //example: Big Elf (12) 2/3 + // returns Card Name (unique number) attack/defense + // example: Big Elf (12) 2/3 /** - *toText.
- * - * @param c a {@link forge.Card} object. + *+ * toText. + *
+ * + * @param c + * a {@link forge.Card} object. * @return a {@link java.lang.String} object. */ public static String toText(final Card c) { @@ -102,9 +116,12 @@ public final class CardUtil { } /** - *toCard.
- * - * @param col a {@link java.util.Collection} object. + *+ * toCard. + *
+ * + * @param col + * a {@link java.util.Collection} object. * @return an array of {@link forge.Card} objects. */ public static Card[] toCard(final CollectiontoCard.
- * - * @param list a {@link java.util.ArrayList} object. + *+ * toCard. + *
+ * + * @param list + * a {@link java.util.ArrayList} object. * @return an array of {@link forge.Card} objects. */ public static Card[] toCard(final ArrayListtoList.
- * - * @param c an array of {@link forge.Card} objects. + *+ * toList. + *
+ * + * @param c + * an array of {@link forge.Card} objects. * @return a {@link java.util.ArrayList} object. */ public static ArrayListgetShortColor.
- * - * @param longColor a {@link java.lang.String} object. + *+ * getShortColor. + *
+ * + * @param longColor + * a {@link java.lang.String} object. * @return a {@link java.lang.String} object. */ public static String getShortColor(final String longColor) { @@ -174,10 +200,14 @@ public final class CardUtil { } /** - *isColor.
- * - * @param c a {@link forge.Card} object. - * @param col a {@link java.lang.String} object. + *+ * isColor. + *
+ * + * @param c + * a {@link forge.Card} object. + * @param col + * a {@link java.lang.String} object. * @return a boolean. */ public static boolean isColor(final Card c, final String col) { @@ -186,9 +216,12 @@ public final class CardUtil { } /** - *getColors.
- * - * @param c a {@link forge.Card} object. + *+ * getColors. + *
+ * + * @param c + * a {@link forge.Card} object. * @return a {@link java.util.ArrayList} object. */ public static ArrayListgetOnlyColors.
- * - * @param c a {@link forge.Card} object. + *+ * getOnlyColors. + *
+ * + * @param c + * a {@link forge.Card} object. * @return a {@link java.util.ArrayList} object. */ public static ArrayListhasCardName.
- * - * @param cardName a {@link java.lang.String} object. - * @param list a {@link java.util.ArrayList} object. + *+ * hasCardName. + *
+ * + * @param cardName + * a {@link java.lang.String} object. + * @param list + * a {@link java.util.ArrayList} object. * @return a boolean. */ public static boolean hasCardName(final String cardName, final ArrayListgetConvertedManaCost.
- * - * @param sa a {@link forge.card.spellability.SpellAbility} object. + *+ * getConvertedManaCost. + *
+ * + * @param sa + * a {@link forge.card.spellability.SpellAbility} object. * @return a int. */ public static int getConvertedManaCost(final SpellAbility sa) { @@ -274,9 +316,12 @@ public final class CardUtil { } /** - *getConvertedManaCost.
- * - * @param c a {@link forge.Card} object. + *+ * getConvertedManaCost. + *
+ * + * @param c + * a {@link forge.Card} object. * @return a int. */ public static int getConvertedManaCost(final Card c) { @@ -287,9 +332,12 @@ public final class CardUtil { } /** - *getConvertedManaCost.
- * - * @param manaCost a {@link java.lang.String} object. + *+ * getConvertedManaCost. + *
+ * + * @param manaCost + * a {@link java.lang.String} object. * @return a int. */ public static int getConvertedManaCost(final String manaCost) { @@ -302,10 +350,14 @@ public final class CardUtil { } /** - *addManaCosts.
- * - * @param mc1 a {@link java.lang.String} object. - * @param mc2 a {@link java.lang.String} object. + *+ * addManaCosts. + *
+ * + * @param mc1 + * a {@link java.lang.String} object. + * @param mc2 + * a {@link java.lang.String} object. * @return a {@link java.lang.String} object. */ public static String addManaCosts(final String mc1, final String mc2) { @@ -336,15 +388,19 @@ public final class CardUtil { tMC = tCL.toString() + " " + cc1 + " " + cc2; - //System.out.println("TMC:" + tMC); + // System.out.println("TMC:" + tMC); return tMC.trim(); } /** - *getRelative.
- * - * @param c a {@link forge.Card} object. - * @param relation a {@link java.lang.String} object. + *+ * getRelative. + *
+ * + * @param c + * a {@link forge.Card} object. + * @param relation + * a {@link java.lang.String} object. * @return a {@link forge.Card} object. */ public static Card getRelative(final Card c, final String relation) { @@ -354,17 +410,20 @@ public final class CardUtil { return c.getEnchantingCard(); } else if (relation.startsWith("equipped ")) { return c.getEquipping().get(0); - //else if(relation.startsWith("target ")) return c.getTargetCard(); + // else if(relation.startsWith("target ")) return c.getTargetCard(); } else { - throw new IllegalArgumentException("Error at CardUtil.getRelative: " + relation - + "is not a valid relation"); + throw new IllegalArgumentException( + "Error at CardUtil.getRelative: " + relation + "is not a valid relation"); } } /** - *isACardType.
- * - * @param cardType a {@link java.lang.String} object. + *+ * isACardType. + *
+ * + * @param cardType + * a {@link java.lang.String} object. * @return a boolean. */ public static boolean isACardType(final String cardType) { @@ -372,17 +431,19 @@ public final class CardUtil { } /** - *getAllCardTypes.
- * + *+ * getAllCardTypes. + *
+ * * @return a {@link java.util.ArrayList} object. */ public static ArrayListgetCardTypes.
- * + *+ * getCardTypes. + *
+ * * @return a {@link java.util.ArrayList} object. */ public static ArrayListgetBasicTypes.
- * + *+ * getBasicTypes. + *
+ * * @return a {@link java.util.ArrayList} object. * @since 1.1.3 */ @@ -425,7 +490,12 @@ public final class CardUtil { return types; } - + + /** + * Gets the land types. + * + * @return the land types + */ public static ArrayListgetCreatureTypes.
- * + *+ * getCreatureTypes. + *
+ * * @return a {@link java.util.ArrayList} object. * @since 1.1.6 */ @@ -450,9 +522,12 @@ public final class CardUtil { } /** - *isASuperType.
- * - * @param cardType a {@link java.lang.String} object. + *+ * isASuperType. + *
+ * + * @param cardType + * a {@link java.lang.String} object. * @return a boolean. */ @@ -461,9 +536,12 @@ public final class CardUtil { } /** - *isASubType.
- * - * @param cardType a {@link java.lang.String} object. + *+ * isASubType. + *
+ * + * @param cardType + * a {@link java.lang.String} object. * @return a boolean. */ public static boolean isASubType(final String cardType) { @@ -471,9 +549,12 @@ public final class CardUtil { } /** - *isACreatureType.
- * - * @param cardType a {@link java.lang.String} object. + *+ * isACreatureType. + *
+ * + * @param cardType + * a {@link java.lang.String} object. * @return a boolean. */ public static boolean isACreatureType(final String cardType) { @@ -481,34 +562,50 @@ public final class CardUtil { } /** - *isALandType.
- * - * @param cardType a {@link java.lang.String} object. + *+ * isALandType. + *
+ * + * @param cardType + * a {@link java.lang.String} object. * @return a boolean. */ public static boolean isALandType(final String cardType) { return (Constant.CardTypes.landTypes[0].list.contains(cardType)); } - + + /** + * Checks if is a planeswalker type. + * + * @param cardType the card type + * @return true, if is a planeswalker type + */ public static boolean isAPlaneswalkerType(final String cardType) { return (Constant.CardTypes.walkerTypes[0].list.contains(cardType)); } /** - *isABasicLandType.
- * - * @param cardType a {@link java.lang.String} object. + *+ * isABasicLandType. + *
+ * + * @param cardType + * a {@link java.lang.String} object. * @return a boolean. */ public static boolean isABasicLandType(final String cardType) { return (Constant.CardTypes.basicTypes[0].list.contains(cardType)); } - //this function checks, if duplicates of a keyword are not necessary (like flying, trample, etc.) + // this function checks, if duplicates of a keyword are not necessary (like + // flying, trample, etc.) /** - *isNonStackingKeyword.
- * - * @param keyword a {@link java.lang.String} object. + *+ * isNonStackingKeyword. + *
+ * + * @param keyword + * a {@link java.lang.String} object. * @return a boolean. */ public static boolean isNonStackingKeyword(final String keyword) { @@ -516,27 +613,40 @@ public final class CardUtil { } /** - *isStackingKeyword.
- * - * @param keyword a {@link java.lang.String} object. + *+ * isStackingKeyword. + *
+ * + * @param keyword + * a {@link java.lang.String} object. * @return a boolean. */ public static boolean isStackingKeyword(final String keyword) { return !isNonStackingKeyword(keyword); } - - public static String buildIdealFilename(final String cardName, final int artIndex, final int artIndexMax) - { - String nn = artIndexMax > 1 ? Integer.toString(artIndex+1) : ""; + /** + * Builds the ideal filename. + * + * @param cardName the card name + * @param artIndex the art index + * @param artIndexMax the art index max + * @return the string + */ + public static String buildIdealFilename(final String cardName, final int artIndex, final int artIndexMax) { + String nn = artIndexMax > 1 ? Integer.toString(artIndex + 1) : ""; String mwsCardName = GuiDisplayUtil.cleanStringMWS(cardName); - //3 letter set code with MWS filename format + // 3 letter set code with MWS filename format return String.format("%s%s.full.jpg", mwsCardName, nn); } + /** - *buildFilename.
- * - * @param card a {@link forge.Card} object. + *+ * buildFilename. + *
+ * + * @param card + * a {@link forge.Card} object. * @return a {@link java.lang.String} object. */ public static String buildFilename(final Card card) { @@ -544,7 +654,10 @@ public final class CardUtil { final String set = card.getCurSetCode(); PredicategetWeightedManaCost.
- * - * @param manaCost a {@link java.lang.String} object. + *+ * getWeightedManaCost. + *
+ * + * @param manaCost + * a {@link java.lang.String} object. * @return a double. */ public static double getWeightedManaCost(final String manaCost) { @@ -616,9 +745,12 @@ public final class CardUtil { } /** - *getShortColorsString.
- * - * @param colors a {@link java.util.ArrayList} object. + *+ * getShortColorsString. + *
+ * + * @param colors + * a {@link java.util.ArrayList} object. * @return a {@link java.lang.String} object. */ public static String getShortColorsString(final ArrayListColor class.
- * + *+ * Color class. + *
+ * * @author Forge * @version $Id$ */ public enum Color { + + /** The Colorless. */ Colorless(0), + /** The White. */ White(1), + /** The Green. */ Green(2), + /** The Red. */ Red(4), + /** The Black. */ Black(8), + /** The Blue. */ Blue(16); @SuppressWarnings("unused") private int flag = 0; /** - *Constructor for Color.
- * - * @param c a int. + *+ * Constructor for Color. + *
+ * + * @param c + * a int. */ Color(final int c) { flag = c; } /** - *Colorless.
- * + *+ * Colorless. + *
+ * * @return a {@link java.util.EnumSet} object. */ public static EnumSetConvertStringsToColor.
- * - * @param s an array of {@link java.lang.String} objects. + *+ * ConvertStringsToColor. + *
+ * + * @param s + * an array of {@link java.lang.String} objects. * @return a {@link java.util.EnumSet} object. */ public static EnumSetConvertFromString.
- * - * @param s a {@link java.lang.String} object. + *+ * ConvertFromString. + *
+ * + * @param s + * a {@link java.lang.String} object. * @return a {@link forge.Color} object. */ public static Color ConvertFromString(String s) { - { - if (s.equals(Constant.Color.White)) { - return Color.White; - } else if (s.equals(Constant.Color.Green)) { - return Color.Green; - } else if (s.equals(Constant.Color.Red)) { - return Color.Red; - } else if (s.equals(Constant.Color.Black)) { - return Color.Black; - } else if (s.equals(Constant.Color.Blue)) { - return Color.Blue; - } - return Color.Colorless; + if (s.equals(Constant.Color.White)) { + return Color.White; + } else if (s.equals(Constant.Color.Green)) { + return Color.Green; + } else if (s.equals(Constant.Color.Red)) { + return Color.Red; + } else if (s.equals(Constant.Color.Black)) { + return Color.Black; + } else if (s.equals(Constant.Color.Blue)) { + return Color.Blue; } + + return Color.Colorless; + } /** - *ConvertManaCostToColor.
- * - * @param m a {@link forge.card.mana.ManaCost} object. + *+ * ConvertManaCostToColor. + *
+ * + * @param m + * a {@link forge.card.mana.ManaCost} object. * @return a {@link java.util.EnumSet} object. */ public static EnumSettoString.
- * + *+ * toString. + *
+ * * @return a {@link java.lang.String} object. */ public String toString() { diff --git a/src/main/java/forge/ColorChanger.java b/src/main/java/forge/ColorChanger.java index bd0d61491d1..576b6278f20 100644 --- a/src/main/java/forge/ColorChanger.java +++ b/src/main/java/forge/ColorChanger.java @@ -5,25 +5,29 @@ import java.util.ArrayList; import forge.card.mana.ManaCost; /** - * class ColorChanger. - * TODO Write javadoc for this type. - * + * class ColorChanger. TODO Write javadoc for this type. + * */ public class ColorChanger { private ArrayListaddColorChanges.
- * - * @param s a {@link java.lang.String} object. - * @param c a {@link forge.Card} object. - * @param addToColors a boolean. - * @param bIncrease a boolean. + *+ * addColorChanges. + *
+ * + * @param s + * a {@link java.lang.String} object. + * @param c + * a {@link forge.Card} object. + * @param addToColors + * a boolean. + * @param bIncrease + * a boolean. * @return a long. */ - public final long addColorChanges(final String s, final Card c, final boolean addToColors, - final boolean bIncrease) + public final long addColorChanges(final String s, + final Card c, final boolean addToColors, final boolean bIncrease) { if (bIncrease) { Card_Color.increaseTimestamp(); @@ -33,12 +37,18 @@ public class ColorChanger { } /** - *removeColorChanges.
- * - * @param s a {@link java.lang.String} object. - * @param c a {@link forge.Card} object. - * @param addTo a boolean. - * @param timestamp a long. + *+ * removeColorChanges. + *
+ * + * @param s + * a {@link java.lang.String} object. + * @param c + * a {@link forge.Card} object. + * @param addTo + * a boolean. + * @param timestamp + * a long. */ public final void removeColorChanges(final String s, final Card c, final boolean addTo, final long timestamp) { Card_Color removeCol = null; @@ -54,14 +64,18 @@ public class ColorChanger { } /** - *reset = clearColorChanges.
+ *+ * reset = clearColorChanges. + *
*/ public final void reset() { clearColorChanges(); } /** - *clearColorChanges.
+ *+ * clearColorChanges. + *
*/ public final void clearColorChanges() { // clear the global color changes at end of each game @@ -69,8 +83,10 @@ public class ColorChanger { } /** - *getColorChanges.
- * + *+ * getColorChanges. + *
+ * * @return a {@link java.util.ArrayList} object. */ public final ArrayListCombat class.
- * + *+ * Combat class. + *
+ * * @author Forge * @version $Id$ */ @@ -20,7 +29,8 @@ public class Combat { private HashMap