From f685ee3d69e35adeab67627c211533251aa571a8 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 6 Jan 2020 13:17:45 -0500 Subject: [PATCH] moved CardTypePredicate to the CardType class --- .../main/java/mage/constants/CardType.java | 29 +++++++++++++++++- .../mageobject/CardTypePredicate.java | 30 ------------------- 2 files changed, 28 insertions(+), 31 deletions(-) delete mode 100644 Mage/src/main/java/mage/filter/predicate/mageobject/CardTypePredicate.java diff --git a/Mage/src/main/java/mage/constants/CardType.java b/Mage/src/main/java/mage/constants/CardType.java index 54fb252ac50..821db4a1ba3 100644 --- a/Mage/src/main/java/mage/constants/CardType.java +++ b/Mage/src/main/java/mage/constants/CardType.java @@ -1,10 +1,13 @@ package mage.constants; +import mage.MageObject; +import mage.filter.predicate.Predicate; +import mage.game.Game; + import java.util.Arrays; import java.util.EnumSet; /** - * * @author North */ public enum CardType { @@ -20,10 +23,12 @@ public enum CardType { private final String text; private final boolean permanentType; + private final CardTypePredicate predicate; CardType(String text, boolean permanentType) { this.text = text; this.permanentType = permanentType; + this.predicate = new CardTypePredicate(this); } @Override @@ -60,4 +65,26 @@ public enum CardType { return cardTypes.toArray(new CardType[0]); } + public CardTypePredicate getPredicate() { + return this.predicate; + } + + public static class CardTypePredicate implements Predicate { + + private final CardType cardType; + + private CardTypePredicate(CardType cardType) { + this.cardType = cardType; + } + + @Override + public boolean apply(MageObject input, Game game) { + return input.getCardType().contains(cardType); + } + + @Override + public String toString() { + return "CardType(" + cardType.toString() + ')'; + } + } } diff --git a/Mage/src/main/java/mage/filter/predicate/mageobject/CardTypePredicate.java b/Mage/src/main/java/mage/filter/predicate/mageobject/CardTypePredicate.java deleted file mode 100644 index fa1cf8239f5..00000000000 --- a/Mage/src/main/java/mage/filter/predicate/mageobject/CardTypePredicate.java +++ /dev/null @@ -1,30 +0,0 @@ - -package mage.filter.predicate.mageobject; - -import mage.constants.CardType; -import mage.MageObject; -import mage.filter.predicate.Predicate; -import mage.game.Game; - -/** - * - * @author North - */ -public class CardTypePredicate implements Predicate { - - private final CardType cardType; - - public CardTypePredicate(CardType cardType) { - this.cardType = cardType; - } - - @Override - public boolean apply(MageObject input, Game game) { - return input.getCardType().contains(cardType); - } - - @Override - public String toString() { - return "CardType(" + cardType.toString() + ')'; - } -}