diff --git a/.gitattributes b/.gitattributes
index 33545ed629d..3eb471b3a27 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -11300,7 +11300,6 @@ src/main/java/forge/CardCharactersticName.java -text
src/main/java/forge/CardColor.java svneol=native#text/plain
src/main/java/forge/CardContainer.java svneol=native#text/plain
src/main/java/forge/CardDamageHistory.java -text
-src/main/java/forge/CardFilter.java svneol=native#text/plain
src/main/java/forge/CardKeywords.java -text svneol=native#text/plain
src/main/java/forge/CardList.java svneol=native#text/plain
src/main/java/forge/CardListFilter.java svneol=native#text/plain
@@ -11847,7 +11846,6 @@ src/main/java/net/slightlymagic/braids/util/ClumsyRunnable.java svneol=native#te
src/main/java/net/slightlymagic/braids/util/ImmutableIterableFrom.java svneol=native#text/plain
src/main/java/net/slightlymagic/braids/util/UtilFunctions.java svneol=native#text/plain
src/main/java/net/slightlymagic/braids/util/generator/FindNonDirectoriesSkipDotDirectoriesGenerator.java svneol=native#text/plain
-src/main/java/net/slightlymagic/braids/util/generator/GeneratorFromArray.java svneol=native#text/plain
src/main/java/net/slightlymagic/braids/util/generator/GeneratorFunctions.java svneol=native#text/plain
src/main/java/net/slightlymagic/braids/util/generator/package-info.java svneol=native#text/plain
src/main/java/net/slightlymagic/braids/util/package-info.java svneol=native#text/plain
@@ -11876,7 +11874,6 @@ src/test/java/forge/PanelTest.java svneol=native#text/plain
src/test/java/forge/PhaseHandlerTest.java -text
src/test/java/forge/RunTest.java svneol=native#text/plain
src/test/java/forge/TinyTest.java svneol=native#text/plain
-src/test/java/forge/card/cardFactory/CardFactoryUtilTest.java svneol=native#text/plain
src/test/java/forge/card/mana/ManaPartTest.java svneol=native#text/plain
src/test/java/forge/deck/generate/Generate2ColorDeckTest.java svneol=native#text/plain
src/test/java/forge/deck/generate/Generate3ColorDeckTest.java svneol=native#text/plain
diff --git a/src/main/java/forge/CardFilter.java b/src/main/java/forge/CardFilter.java
deleted file mode 100644
index 17a559f0a2e..00000000000
--- a/src/main/java/forge/CardFilter.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*
- * Forge: Play Magic: the Gathering.
- * Copyright (C) 2011 Forge Team
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * 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. - * @return a {@link forge.CardList} object. - */ - public final CardList cardListNameFilter(final Iterable- * cardListTextFilter. - *
- * - * @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(final CardList all, final String name) { - Card cardName; - String s; - s = ""; - final CardList listFilter = new CardList(); - for (int i = 0; i < all.size(); i++) { - cardName = all.getCard(i); - s = cardName.getText().toLowerCase(); - - if (s.indexOf(name.toLowerCase()) >= 0) { - listFilter.add(cardName); - - } - - } - - return listFilter; - } - - /** - *- * cardListColorFilter. - *
- * - * @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(final CardList all, final String name) { - Card cardName = new Card(); - final CardList listFilter = new CardList(); - - if (name == "black") { - for (int i = 0; i < all.size(); i++) { - cardName = all.getCard(i); - if (!CardUtil.getColors(cardName).contains(Constant.Color.BLACK)) { - listFilter.add(cardName); - } - - } - } - - if (name == "blue") { - for (int i = 0; i < all.size(); i++) { - cardName = all.getCard(i); - if (!CardUtil.getColors(cardName).contains(Constant.Color.BLUE)) { - listFilter.add(cardName); - } - - } - } - - if (name == "green") { - for (int i = 0; i < all.size(); i++) { - cardName = all.getCard(i); - if (!CardUtil.getColors(cardName).contains(Constant.Color.GREEN)) { - listFilter.add(cardName); - } - - } - } - - if (name == "red") { - for (int i = 0; i < all.size(); i++) { - cardName = all.getCard(i); - if (!CardUtil.getColors(cardName).contains(Constant.Color.RED)) { - listFilter.add(cardName); - } - - } - } - - if (name == "white") { - for (int i = 0; i < all.size(); i++) { - cardName = all.getCard(i); - if (!CardUtil.getColors(cardName).contains(Constant.Color.WHITE)) { - listFilter.add(cardName); - } - - } - } - - if (name.equals("colorless")) { - for (int i = 0; i < all.size(); i++) { - cardName = all.getCard(i); - if (!CardUtil.getColors(cardName).contains(Constant.Color.COLORLESS)) { - listFilter.add(cardName); - } - - } - } - - return listFilter; - } - - /** - *- * cardListTypeFilter. - *
- * - * @param all - * a {@link forge.CardList} object. - * @param name - * a {@link java.lang.String} object. - * @return a {@link forge.CardList} object. - */ - public final CardList cardListTypeFilter(final CardList all, final String name) { - Card cardName = new Card(); - final CardList listFilter = new CardList(); - - if (name == "artifact") { - for (int i = 0; i < all.size(); i++) { - cardName = all.getCard(i); - if (!cardName.isArtifact()) { - listFilter.add(cardName); - } - - } - } - - if (name == "creature") { - for (int i = 0; i < all.size(); i++) { - cardName = all.getCard(i); - if (!cardName.isCreature()) { - listFilter.add(cardName); - } - - } - } - - if (name == "enchantment") { - for (int i = 0; i < all.size(); i++) { - cardName = all.getCard(i); - if (!cardName.isEnchantment()) { - listFilter.add(cardName); - } - - } - } - - if (name == "instant") { - for (int i = 0; i < all.size(); i++) { - cardName = all.getCard(i); - if (!cardName.isInstant()) { - listFilter.add(cardName); - } - - } - } - - if (name == "land") { - for (int i = 0; i < all.size(); i++) { - cardName = all.getCard(i); - if (!cardName.isLand()) { - listFilter.add(cardName); - } - - } - } - - if (name == "planeswalker") { - for (int i = 0; i < all.size(); i++) { - cardName = all.getCard(i); - if (!cardName.isPlaneswalker()) { - listFilter.add(cardName); - } - - } - } - - if (name.equals("sorcery")) { - for (int i = 0; i < all.size(); i++) { - cardName = all.getCard(i); - if (!cardName.isSorcery()) { - listFilter.add(cardName); - } - - } - } - - 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 Iterable
@@ -134,16 +134,10 @@ public class Generate2ColorDeck {
// start with all cards
// remove cards that generated decks don't like
- final CardList allCards = CardFilter.filter(AllZone.getCardFactory(), new CardListFilter() {
- @Override
- public boolean addCard(final Card c) {
- if (c.getSVar("RemRandomDeck").equals("True")) {
- return false;
- }
- return (!c.getSVar("RemAIDeck").equals("True") || ((pt != null) && pt.equals(PlayerType.HUMAN)));
- }
- });
-
+
+ Predicate
@@ -146,16 +146,9 @@ public class Generate3ColorDeck {
// start with all cards
// remove cards that generated decks don't like
- final CardList allCards = CardFilter.filter(AllZone.getCardFactory(), new CardListFilter() {
- @Override
- public boolean addCard(final Card c) {
- if (c.getSVar("RemRandomDeck").equals("True")) {
- return false;
- }
- return (!c.getSVar("RemAIDeck").equals("True") || ((pt != null) && pt.equals(PlayerType.HUMAN)));
- }
- });
-
+ Predicate
@@ -144,16 +144,9 @@ public class Generate5ColorDeck {
// start with all cards
// remove cards that generated decks don't like
- final CardList allCards = CardFilter.filter(AllZone.getCardFactory(), new CardListFilter() {
- @Override
- public boolean addCard(final Card c) {
- if (c.getSVar("RemRandomDeck").equals("True")) {
- return false;
- }
- return (!c.getSVar("RemAIDeck").equals("True") || ((playerType != null) && playerType.equals(PlayerType.HUMAN)));
- }
- });
-
+ Predicate
* GenerateDeckUtil class.
@@ -29,6 +32,19 @@ import java.util.ArrayList;
*/
public class GenerateDeckUtil {
+ public static final Predicate
- * Mana_PartTest class.
- *