From a5f4f7801815c5a03ee4a86d07caeb0a66ee588e Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Wed, 29 Jan 2014 17:02:32 +0000 Subject: [PATCH] won't throw when not expected --- forge-core/src/main/java/forge/card/CardType.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/forge-core/src/main/java/forge/card/CardType.java b/forge-core/src/main/java/forge/card/CardType.java index e6cc4c1e265..0667621dd76 100644 --- a/forge-core/src/main/java/forge/card/CardType.java +++ b/forge-core/src/main/java/forge/card/CardType.java @@ -26,7 +26,7 @@ import org.apache.commons.lang3.StringUtils; /** *

- * Immutable Card type. Can be build only from parsing a string. + * Immutable Card type. Can be built only from parsing a string. *

* * @author Forge @@ -56,21 +56,25 @@ public final class CardType implements Comparable { isPermanent = permanent; } - public static CoreType smartValueOf(final String value) { + public static CoreType smartValueOf(final String value) { return smartValueOf(value, true); } + public static CoreType smartValueOf(final String value, boolean throwIfNotFound) { if (value == null) { return null; } final String valToCompate = value.trim(); for (final CoreType v : CoreType.values()) { - if (v.name().compareToIgnoreCase(valToCompate) == 0) { + if (v.name().equalsIgnoreCase(valToCompate)) { return v; } } - throw new IllegalArgumentException("No element named " + value + " in enum CoreType"); + if (throwIfNotFound) + throw new IllegalArgumentException("No element named " + value + " in enum CoreType"); + + return null; } public static boolean isAPermanentType(final String cardType) { - CoreType ct = smartValueOf(cardType); + CoreType ct = smartValueOf(cardType, false); return ct != null && ct.isPermanent; } }