From debe605289f858c5d32737c69e79da8df26ce887 Mon Sep 17 00:00:00 2001 From: drdev Date: Mon, 7 Sep 2015 21:29:28 +0000 Subject: [PATCH] Capitalize keywords --- .../src/main/java/forge/util/EnumUtil.java | 21 +++++++++++++++++++ .../main/java/forge/game/keyword/Keyword.java | 5 ++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/forge-core/src/main/java/forge/util/EnumUtil.java b/forge-core/src/main/java/forge/util/EnumUtil.java index e8fe486e5e5..283a8b675e8 100644 --- a/forge-core/src/main/java/forge/util/EnumUtil.java +++ b/forge-core/src/main/java/forge/util/EnumUtil.java @@ -22,4 +22,25 @@ public final class EnumUtil { } return builder.build(); } + + public static String getEnumDisplayName(Enum value) { + boolean uppercase = true; + String name = value.name(); + StringBuilder builder = new StringBuilder(); + for (int i = 0; i < name.length(); i++) { + char ch = name.charAt(i); + if (ch == '_') { + builder.append(' '); + uppercase = true; + } + else if (uppercase) { + builder.append(ch); //assume enum name is ALL_CAPS format + uppercase = false; + } + else { + builder.append(Character.toLowerCase(ch)); + } + } + return builder.toString(); + } } diff --git a/forge-game/src/main/java/forge/game/keyword/Keyword.java b/forge-game/src/main/java/forge/game/keyword/Keyword.java index 6213c670657..13d8eec551b 100644 --- a/forge-game/src/main/java/forge/game/keyword/Keyword.java +++ b/forge-game/src/main/java/forge/game/keyword/Keyword.java @@ -2,9 +2,12 @@ package forge.game.keyword; import java.util.*; +import org.apache.commons.lang3.StringUtils; + import forge.StaticData; import forge.game.card.Card; import forge.item.PaperCard; +import forge.util.EnumUtil; public enum Keyword { UNDEFINED(SimpleKeyword.class, false, ""), @@ -107,7 +110,7 @@ public enum Keyword { type = type0; isMultipleRedundant = isMultipleRedundant0; reminderText = reminderText0; - displayName = this.name().toLowerCase().replace('_', ' '); + displayName = EnumUtil.getEnumDisplayName(this); } public static KeywordInstance getInstance(String k) {