introduced StringUtil class with .isEmpty(String input) and .isNotEmpty(String input), to replace str != null && str.length()>0 statements

This commit is contained in:
ingmargoudt 2016-09-16 20:51:51 +02:00
parent fb15c79964
commit f1cf9e7adb
47 changed files with 132 additions and 96 deletions

View file

@ -206,26 +206,21 @@ public class ConditionalMana extends Mana implements Serializable {
break;
case BLUE:
blue += amount;
;
break;
case GREEN:
green += amount;
;
break;
case RED:
red += amount;
;
break;
case WHITE:
white += amount;
;
break;
case COLORLESS:
colorless += amount;
;
case GENERIC:
generic += amount;
;
break;
}
}

View file

@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility;
import mage.abilities.mana.ManaAbility;
import mage.constants.Zone;
import mage.game.Game;
import mage.util.StringUtil;
import mage.util.ThreadLocalStringBuilder;
import org.apache.log4j.Logger;
@ -105,11 +106,10 @@ public class AbilitiesImpl<T extends Ability> extends ArrayList<T> implements Ab
rules.add(sbRule.toString());
}
String rule = ability.getRule();
if (rule != null) {
if (rule.length() > 0) {
if (StringUtil.isNotEmpty(rule)){
rules.add(Character.toUpperCase(rule.charAt(0)) + rule.substring(1));
}
} else { // logging so we can still can be made aware of rule problems a card has
else { // logging so we can still can be made aware of rule problems a card has
String cardName = ((SpellAbility) ability).getCardName();
logger.fatal("Error in rule text generation of " + cardName + ": Create a bug report or fix the source code");
}

View file

@ -44,6 +44,7 @@ import mage.players.ManaPool;
import mage.players.Player;
import mage.target.Targets;
import mage.util.ManaUtil;
import mage.util.StringUtil;
/**
* @author BetaSteward_at_googlemail.com
@ -320,13 +321,13 @@ public class ManaCostsImpl<T extends ManaCost> extends ArrayList<T> implements M
this.add(cost.copy());
}
} else {
if (mana == null || mana.isEmpty()) {
if (StringUtil.isNotEmpty(mana)) {
return;
}
String[] symbols = mana.split("^\\{|\\}\\{|\\}$");
int modifierForX = 0;
for (String symbol : symbols) {
if (symbol.length() > 0) {
if (StringUtil.isNotEmpty(symbol)) {
if (symbol.length() == 1 || isNumeric(symbol)) {
if (Character.isDigit(symbol.charAt(0))) {
this.add(new GenericManaCost(Integer.valueOf(symbol)));

View file

@ -37,6 +37,7 @@ import mage.abilities.effects.ReplacementEffectImpl;
import mage.constants.Duration;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.util.StringUtil;
/**
*
@ -143,7 +144,7 @@ public class ConditionalReplacementEffect extends ReplacementEffectImpl {
@Override
public String getText(Mode mode) {
if (staticText == null || staticText.isEmpty() && this.effect != null) { // usefull for conditional night/day card abilities
if (StringUtil.isEmpty(staticText) && this.effect != null) { // usefull for conditional night/day card abilities
return effect.getText(mode);
}
return staticText;

View file

@ -129,7 +129,7 @@ public class CreateTokenEffect extends OneShotEffect {
sb.append(" attacking");
}
String message = amount.getMessage();
if (message.length() > 0) {
if (!message.isEmpty()) {
if (amount.toString().equals("X")) {
sb.append(", where X is ");
} else {

View file

@ -80,7 +80,7 @@ public class CreateTokenTargetEffect extends OneShotEffect {
sb.append(" attacking");
}
String message = amount.getMessage();
if (message.length() > 0) {
if (!message.isEmpty()) {
sb.append(" for each ");
}
sb.append(message);

View file

@ -36,6 +36,7 @@ import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.OneShotEffect;
import mage.game.Game;
import mage.players.Player;
import mage.util.StringUtil;
/**
*
@ -103,7 +104,7 @@ public class DamageControllerEffect extends OneShotEffect {
sb.append(amount);
}
sb.append(" damage to you");
if (message.length() > 0) {
if (StringUtil.isNotEmpty(message)) {
if (message.equals("1")) {
sb.append(" equal to the number of ");
} else {

View file

@ -37,6 +37,7 @@ import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.Target;
import mage.util.StringUtil;
import java.util.UUID;
@ -142,7 +143,7 @@ public class DamageTargetEffect extends OneShotEffect {
@Override
public String getText(Mode mode) {
if (staticText != null && !staticText.isEmpty()) {
if (StringUtil.isNotEmpty(staticText)) {
return staticText;
}
StringBuilder sb = new StringBuilder();
@ -152,12 +153,12 @@ public class DamageTargetEffect extends OneShotEffect {
sb.append(amount);
}
sb.append(" damage to ");
if (targetDescription.length() > 0) {
if (StringUtil.isNotEmpty(targetDescription)){
sb.append(targetDescription);
} else {
sb.append("target ").append(mode.getTargets().get(0).getTargetName());
}
if (message.length() > 0) {
if (StringUtil.isNotEmpty(message)) {
if (message.equals("1")) {
sb.append(" equal to the number of ");
} else {

View file

@ -158,7 +158,7 @@ public class DontUntapInControllersNextUntapStepTargetEffect extends ContinuousR
if (staticText != null && !staticText.isEmpty()) {
return staticText;
}
if (targetName != null && targetName.length() > 0) {
if (targetName != null && !targetName.isEmpty()) {
if (targetName.equals("Those creatures") || targetName.equals("They")) {
return targetName + " don't untap during their controller's next untap step";
} else

View file

@ -36,6 +36,7 @@ import mage.constants.Outcome;
import mage.game.Game;
import mage.players.Player;
import mage.util.CardUtil;
import mage.util.StringUtil;
/**
* @author BetaSteward_at_googlemail.com
@ -83,7 +84,7 @@ public class DrawCardSourceControllerEffect extends OneShotEffect {
sb.append("s");
}
String message = amount.getMessage();
if (message.length() > 0) {
if (StringUtil.isNotEmpty(message)) {
sb.append(" for each ");
}
sb.append(message);

View file

@ -136,7 +136,7 @@ public class DrawCardTargetEffect extends OneShotEffect {
sb.append("s");
}
String message = amount.getMessage();
if (message.length() > 0) {
if (!message.isEmpty()) {
sb.append(" for each ");
}
sb.append(message);

View file

@ -36,6 +36,7 @@ import mage.constants.Zone;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.util.StringUtil;
public class LoseLifeControllerAttachedEffect extends OneShotEffect {
@ -88,7 +89,7 @@ public class LoseLifeControllerAttachedEffect extends OneShotEffect {
StringBuilder sb = new StringBuilder();
sb.append("it's controller loses ").append(amount.toString()).append(" life");
String message = amount.getMessage();
if (message.length() > 0) {
if (StringUtil.isNotEmpty(message)) {
sb.append(" for each ");
sb.append(message);
}

View file

@ -87,7 +87,7 @@ public class LoseLifeOpponentsEffect extends OneShotEffect {
sb.append(amount).append(" ");
}
sb.append("life");
if (message.length() > 0) {
if (!message.isEmpty()) {
sb.append(message.equals("1") || message.startsWith("the ") ? " equal to the number of " : " for each ");
sb.append(message);
}

View file

@ -35,6 +35,7 @@ import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.OneShotEffect;
import mage.game.Game;
import mage.players.Player;
import mage.util.StringUtil;
/**
*
@ -78,7 +79,7 @@ public class LoseLifeSourceControllerEffect extends OneShotEffect {
StringBuilder sb = new StringBuilder();
sb.append("you lose ").append(amount.toString()).append(" life");
String message = amount.getMessage();
if (message.length() > 0) {
if (StringUtil.isNotEmpty(message)) {
sb.append(" for each ");
}
sb.append(message);

View file

@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect;
import mage.constants.Outcome;
import mage.game.Game;
import mage.players.Player;
import mage.util.StringUtil;
/**
*
@ -81,7 +82,7 @@ public class LoseLifeTargetEffect extends OneShotEffect {
StringBuilder sb = new StringBuilder();
String message = amount.getMessage();
if (mode.getTargets().size() > 0) {
if (!mode.getTargets().isEmpty()) {
sb.append("target ").append(mode.getTargets().get(0).getTargetName());
} else {
sb.append("that player");
@ -91,7 +92,7 @@ public class LoseLifeTargetEffect extends OneShotEffect {
sb.append(amount).append(" ");
}
sb.append("life");
if (message.length() > 0) {
if (StringUtil.isNotEmpty(message)) {
if (amount.toString().equals("X")) {
sb.append(", where X is ");
} else {

View file

@ -101,7 +101,7 @@ public class PutLibraryIntoGraveTargetEffect extends OneShotEffect {
}
sb.append("of his or her library into his or her graveyard");
if (message.length() > 0) {
if (!message.isEmpty()) {
sb.append(", where X is the number of ");
sb.append(message);
}

View file

@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect;
import mage.game.Game;
import mage.game.turn.TurnMod;
import mage.players.Player;
import mage.util.StringUtil;
/**
*
@ -77,7 +78,7 @@ public class SkipNextPlayerUntapStepEffect extends OneShotEffect {
@Override
public String getText(Mode mode) {
StringBuilder sb = new StringBuilder();
if (staticText.length() > 0) {
if (StringUtil.isNotEmpty(staticText)) {
sb.append(staticText);
} else {
sb.append("target");

View file

@ -37,6 +37,7 @@ import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.Target;
import mage.util.CardUtil;
import mage.util.StringUtil;
/**
* @author BetaSteward_at_googlemail.com
@ -76,7 +77,7 @@ public class TapTargetEffect extends OneShotEffect {
@Override
public String getText(Mode mode) {
if (staticText.length() > 0) {
if (StringUtil.isNotEmpty(staticText)) {
return "tap " + staticText;
}

View file

@ -14,6 +14,7 @@ import mage.game.permanent.Permanent;
import mage.game.permanent.PermanentCard;
import mage.target.Target;
import mage.util.CardUtil;
import mage.util.StringUtil;
/**
*
@ -73,7 +74,7 @@ public class TransformTargetEffect extends OneShotEffect {
@Override
public String getText(Mode mode) {
if (staticText != null && staticText.length() > 0) {
if (StringUtil.isNotEmpty(staticText)) {
return staticText;
}
if (mode.getTargets().isEmpty()) {

View file

@ -106,7 +106,7 @@ public class AssignNoCombatDamageSourceEffect extends ReplacementEffectImpl {
text += " this combat";
break;
default:
if (duration.toString().length() > 0) {
if (!duration.toString().isEmpty()) {
text += " " + duration.toString();
}
}

View file

@ -118,11 +118,11 @@ public class BecomesColorOrColorsTargetEffect extends OneShotEffect {
return staticText;
}
StringBuilder sb = new StringBuilder();
if (mode.getTargets().size() > 0) {
if (!mode.getTargets().isEmpty()) {
sb.append("target ");
sb.append(mode.getTargets().get(0).getFilter().getMessage());
sb.append(" becomes the color or colors of your choice");
if (duration.toString().length() > 0) {
if (!duration.toString().isEmpty()) {
sb.append(" ").append(duration.toString());
}
}

View file

@ -39,6 +39,7 @@ import mage.filter.FilterPermanent;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.Token;
import mage.util.StringUtil;
/**
* @author LevelX2
@ -76,13 +77,11 @@ public class BecomesCreatureAllEffect extends ContinuousEffectImpl {
switch (layer) {
case TypeChangingEffects_4:
if (sublayer == SubLayer.NA) {
if (token.getCardType().size() > 0) {
for (CardType t : token.getCardType()) {
if (!permanent.getCardType().contains(t)) {
permanent.getCardType().add(t);
}
}
}
if (type == null) {
permanent.getSubtype(game).clear();
}
@ -140,7 +139,7 @@ public class BecomesCreatureAllEffect extends ContinuousEffectImpl {
}
sb.append(filter.getMessage());
sb.append(" become a ").append(token.getDescription());
if (type != null && type.length() > 0) {
if (StringUtil.isNotEmpty(type)) {
sb.append(". They are still ").append(type);
}
return sb.toString();

View file

@ -172,7 +172,7 @@ public class BecomesCreatureSourceEffect extends ContinuousEffectImpl implements
}
private void setText() {
if (type != null && type.length() > 0) {
if (type != null && !type.isEmpty()) {
staticText = duration.toString() + " {this} becomes a " + token.getDescription() + " that's still a " + this.type;
} else {
staticText = duration.toString() + " {this} becomes a " + token.getDescription();

View file

@ -134,7 +134,7 @@ public class BoostEnchantedEffect extends ContinuousEffectImpl {
sb.append(" ").append(duration.toString());
}
String message = power.getMessage();
if (message.length() > 0) {
if (!message.isEmpty()) {
sb.append(" for each ");
}
sb.append(message);

View file

@ -39,6 +39,7 @@ import mage.abilities.effects.ContinuousEffectImpl;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.targetpointer.FixedTarget;
import mage.util.StringUtil;
/**
* @author BetaSteward_at_googlemail.com
@ -132,7 +133,7 @@ public class BoostEquippedEffect extends ContinuousEffectImpl {
if (duration != Duration.WhileOnBattlefield)
sb.append(" ").append(duration.toString());
String message = power.getMessage();
if (message.length() > 0) {
if (StringUtil.isNotEmpty(message)) {
sb.append(" for each ");
}
sb.append(message);

View file

@ -36,6 +36,7 @@ import mage.counters.Counter;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.util.CardUtil;
import mage.util.StringUtil;
/**
*
@ -101,7 +102,7 @@ public class AddCountersAttachedEffect extends OneShotEffect {
}
sb.append(counter.getName().toLowerCase()).append(" counter on ");
sb.append(textEnchanted);
if (amount.getMessage().length() > 0) {
if (StringUtil.isNotEmpty(amount.getMessage())) {
sb.append(" for each ").append(amount.getMessage());
}
staticText = sb.toString();

View file

@ -43,6 +43,7 @@ import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.Target;
import mage.util.CardUtil;
import mage.util.StringUtil;
/**
*
@ -164,7 +165,7 @@ public class AddCountersTargetEffect extends OneShotEffect {
sb.append("that creature");
}
if (amount.getMessage().length() > 0) {
if (StringUtil.isNotEmpty(amount.getMessage())) {
sb.append(" for each ").append(amount.getMessage());
}
return sb.toString();

View file

@ -36,6 +36,7 @@ import mage.constants.Outcome;
import mage.game.Game;
import mage.players.Player;
import mage.util.CardUtil;
import mage.util.StringUtil;
/**
*
@ -116,7 +117,7 @@ public class DiscardControllerEffect extends OneShotEffect {
sb.append(" at random");
}
String message = amount.getMessage();
if (message.length() > 0) {
if (StringUtil.isNotEmpty(message)) {
sb.append(" for each ");
}
sb.append(message);

View file

@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect;
import mage.constants.Outcome;
import mage.game.Game;
import mage.players.Player;
import mage.util.StringUtil;
/**
*
@ -80,11 +81,11 @@ public class DiscardHandTargetEffect extends OneShotEffect {
@Override
public String getText(Mode mode) {
if (staticText != null && !staticText.isEmpty()) {
if (StringUtil.isNotEmpty(staticText)) {
return staticText;
}
StringBuilder sb = new StringBuilder();
if (targetDescription.length() > 0) {
if (StringUtil.isNotEmpty(targetDescription)) {
sb.append(targetDescription);
} else {
sb.append("target ").append(mode.getTargets().get(0).getTargetName());

View file

@ -36,6 +36,7 @@ import mage.constants.Outcome;
import mage.game.Game;
import mage.players.Player;
import mage.util.CardUtil;
import mage.util.StringUtil;
/**
*
@ -95,7 +96,7 @@ public class DiscardTargetEffect extends OneShotEffect {
@Override
public String getText(Mode mode) {
if (staticText != null && !staticText.isEmpty()) {
if (StringUtil.isNotEmpty(staticText)) {
return staticText;
}
StringBuilder sb = new StringBuilder();
@ -114,7 +115,7 @@ public class DiscardTargetEffect extends OneShotEffect {
sb.append(" at random");
}
String message = amount.getMessage();
if (message.length() > 0) {
if (StringUtil.isNotEmpty(message)) {
sb.append(" for each ");
}
sb.append(message);

View file

@ -44,6 +44,7 @@ import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.util.CardUtil;
import mage.util.StringUtil;
/**
*
@ -104,7 +105,7 @@ public class ManifestTargetPlayerEffect extends OneShotEffect {
private String setText() {
StringBuilder sb = new StringBuilder();
if (prefix != null && !prefix.isEmpty()) {
if (StringUtil.isNotEmpty(prefix)) {
sb.append(prefix).append(" ");
}
sb.append("manifest the top ");

View file

@ -133,7 +133,7 @@ class CascadeEffect extends OneShotEffect {
Cards cardsFromExile = new CardsImpl();
Cards cardsToLibrary = new CardsImpl();
cardsFromExile.addAll(exile);
while (cardsFromExile.size() > 0) {
while (!cardsFromExile.isEmpty()) {
card = cardsFromExile.getRandom(game);
cardsFromExile.remove(card.getId());
cardsToLibrary.add(card);

View file

@ -46,6 +46,7 @@ import mage.constants.ColoredManaSymbol;
import mage.util.ClassScanner;
import mage.util.RandomUtil;
import mage.util.StringUtil;
import org.apache.log4j.Logger;
/**
@ -138,10 +139,11 @@ public class Sets extends HashMap<String, ExpansionSet> {
Map<String, DeckCardInfo> deckCards = new HashMap<>();
Map<String, DeckCardInfo> sideboard = new HashMap<>();
try {
if (deck.getName() != null && deck.getName().length() > 0) {
if (StringUtil.isNotEmpty(deck.getName())) {
out.println("NAME:" + deck.getName());
}
if (deck.getAuthor() != null && deck.getAuthor().length() > 0) {
if (StringUtil.isNotEmpty(deck.getAuthor())) {
out.println("AUTHOR:" + deck.getAuthor());
}
for (DeckCardInfo deckCardInfo: deck.getCards()) {

View file

@ -0,0 +1,15 @@
package mage.util;
/**
* Created by IGOUDT on 16-9-2016.
*/
public class StringUtil {
public static boolean isEmpty(String input){
return (input == null) || input.isEmpty();
}
public static boolean isNotEmpty(String input){
return !isEmpty(input);
}
}