summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormd_5 <md_5@bigpond.com>2012-10-27 12:51:18 +1100
committermd_5 <md_5@bigpond.com>2012-10-27 12:51:18 +1100
commit811f20d2545602f47c4bb5020a52ea392d96f056 (patch)
tree1091faed9dc9900fa9d33580a2ca6a999695a7da
parent10c8540fa0d9733a1ad403d8f3361cab0adacbb9 (diff)
downloadEssentials-811f20d2545602f47c4bb5020a52ea392d96f056.tar
Essentials-811f20d2545602f47c4bb5020a52ea392d96f056.tar.gz
Essentials-811f20d2545602f47c4bb5020a52ea392d96f056.tar.lz
Essentials-811f20d2545602f47c4bb5020a52ea392d96f056.tar.xz
Essentials-811f20d2545602f47c4bb5020a52ea392d96f056.zip
Cleanup usages of split.
-rw-r--r--Essentials/src/net/ess3/I18n.java4
-rw-r--r--Essentials/src/net/ess3/ItemDb.java22
-rw-r--r--Essentials/src/net/ess3/commands/Commanddelhome.java5
-rw-r--r--Essentials/src/net/ess3/commands/Commandgive.java5
-rw-r--r--Essentials/src/net/ess3/commands/Commandhome.java5
-rw-r--r--Essentials/src/net/ess3/commands/Commanditem.java15
-rw-r--r--Essentials/src/net/ess3/commands/Commandsethome.java5
-rw-r--r--Essentials/src/net/ess3/commands/Commandspawnmob.java7
-rw-r--r--Essentials/src/net/ess3/listener/EssentialsPlayerListener.java8
-rw-r--r--Essentials/src/net/ess3/storage/BukkitConstructor.java12
-rw-r--r--Essentials/src/net/ess3/user/UserMap.java14
11 files changed, 68 insertions, 34 deletions
diff --git a/Essentials/src/net/ess3/I18n.java b/Essentials/src/net/ess3/I18n.java
index 678d111c5..d52842d81 100644
--- a/Essentials/src/net/ess3/I18n.java
+++ b/Essentials/src/net/ess3/I18n.java
@@ -10,6 +10,7 @@ import java.text.MessageFormat;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
+import java.util.regex.Pattern;
import net.ess3.api.IEssentials;
import net.ess3.api.II18n;
@@ -97,6 +98,7 @@ public class I18n implements II18n
}
return messageFormat.format(objects);
}
+ private final Pattern partSplit = Pattern.compile("[_\\.]");
public void updateLocale(final String loc)
{
@@ -104,7 +106,7 @@ public class I18n implements II18n
{
return;
}
- final String[] parts = loc.split("[_\\.]");
+ final String[] parts = partSplit.split(loc);
if (parts.length == 1)
{
currentLocale = new Locale(parts[0]);
diff --git a/Essentials/src/net/ess3/ItemDb.java b/Essentials/src/net/ess3/ItemDb.java
index a34531dcd..6866215bd 100644
--- a/Essentials/src/net/ess3/ItemDb.java
+++ b/Essentials/src/net/ess3/ItemDb.java
@@ -84,31 +84,39 @@ public class ItemDb implements IItemDb
return stack;
}
+ @Override
public ItemStack get(final String id, final int quantity) throws Exception
{
final ItemStack retval = get(id.toLowerCase(Locale.ENGLISH));
retval.setAmount(quantity);
return retval;
}
+ private final Pattern idMatch = Pattern.compile("^\\d+[:+',;.]\\d+$");
+ private final Pattern metaSplit = Pattern.compile("[:+',;.]");
+ private final Pattern number = Pattern.compile("^\\d+$");
+ private final Pattern conjoined = Pattern.compile("^[^:+',;.]+[:+',;.]\\d+$");
+ @Override
public ItemStack get(final String id) throws Exception
{
int itemid = 0;
String itemname = null;
short metaData = 0;
- if (id.matches("^\\d+[:+',;.]\\d+$"))
+ if (idMatch.matcher(id).matches())
{
- itemid = Integer.parseInt(id.split("[:+',;.]")[0]);
- metaData = Short.parseShort(id.split("[:+',;.]")[1]);
+ String[] split = metaSplit.split(id);
+ itemid = Integer.parseInt(split[0]);
+ metaData = Short.parseShort(split[1]);
}
- else if (id.matches("^\\d+$"))
+ else if (number.matcher(id).matches())
{
itemid = Integer.parseInt(id);
}
- else if (id.matches("^[^:+',;.]+[:+',;.]\\d+$"))
+ else if (conjoined.matcher(id).matches())
{
- itemname = id.split("[:+',;.]")[0].toLowerCase(Locale.ENGLISH);
- metaData = Short.parseShort(id.split("[:+',;.]")[1]);
+ String[] split = metaSplit.split(id);
+ itemname = split[0].toLowerCase(Locale.ENGLISH);
+ metaData = Short.parseShort(split[1]);
}
else
{
diff --git a/Essentials/src/net/ess3/commands/Commanddelhome.java b/Essentials/src/net/ess3/commands/Commanddelhome.java
index f0b54cd27..4ceb6b366 100644
--- a/Essentials/src/net/ess3/commands/Commanddelhome.java
+++ b/Essentials/src/net/ess3/commands/Commanddelhome.java
@@ -1,6 +1,7 @@
package net.ess3.commands;
import java.util.Locale;
+import java.util.regex.Pattern;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
@@ -9,6 +10,8 @@ import org.bukkit.command.CommandSender;
public class Commanddelhome extends EssentialsCommand
{
+ private final transient Pattern colon = Pattern.compile(":");
+
@Override
protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
@@ -22,7 +25,7 @@ public class Commanddelhome extends EssentialsCommand
String[] expandedArg;
//Allowing both formats /sethome khobbits house | /sethome khobbits:house
- final String[] nameParts = args[0].split(":");
+ final String[] nameParts = colon.split(args[0]);
if (nameParts[0].length() != args[0].length())
{
expandedArg = nameParts;
diff --git a/Essentials/src/net/ess3/commands/Commandgive.java b/Essentials/src/net/ess3/commands/Commandgive.java
index 6bc23fc3e..174d571ca 100644
--- a/Essentials/src/net/ess3/commands/Commandgive.java
+++ b/Essentials/src/net/ess3/commands/Commandgive.java
@@ -1,6 +1,7 @@
package net.ess3.commands;
import java.util.Locale;
+import java.util.regex.Pattern;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
@@ -13,6 +14,8 @@ import org.bukkit.inventory.ItemStack;
public class Commandgive extends EssentialsCommand
{
+ private final transient Pattern data = Pattern.compile("[:+',;.]");
+
@Override
protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
@@ -45,7 +48,7 @@ public class Commandgive extends EssentialsCommand
{
for (int i = Util.isInt(args[3]) ? 4 : 3; i < args.length; i++)
{
- final String[] split = args[i].split("[:+',;.]", 2);
+ final String[] split = data.split(args[i], 2);
if (split.length < 1)
{
continue;
diff --git a/Essentials/src/net/ess3/commands/Commandhome.java b/Essentials/src/net/ess3/commands/Commandhome.java
index 936a2f4a5..a1a048dfe 100644
--- a/Essentials/src/net/ess3/commands/Commandhome.java
+++ b/Essentials/src/net/ess3/commands/Commandhome.java
@@ -2,6 +2,7 @@ package net.ess3.commands;
import java.util.Locale;
import java.util.Set;
+import java.util.regex.Pattern;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.economy.Trade;
@@ -14,6 +15,8 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
public class Commandhome extends EssentialsCommand
{
+ private final transient Pattern colon = Pattern.compile(":");
+
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
@@ -24,7 +27,7 @@ public class Commandhome extends EssentialsCommand
String[] nameParts;
if (args.length > 0)
{
- nameParts = args[0].split(":");
+ nameParts = colon.split(args[0]);
if (nameParts[0].length() == args[0].length() || !Permissions.HOME_OTHERS.isAuthorized(user))
{
homeName = nameParts[0];
diff --git a/Essentials/src/net/ess3/commands/Commanditem.java b/Essentials/src/net/ess3/commands/Commanditem.java
index a43b122a7..416bed766 100644
--- a/Essentials/src/net/ess3/commands/Commanditem.java
+++ b/Essentials/src/net/ess3/commands/Commanditem.java
@@ -1,6 +1,7 @@
package net.ess3.commands;
import java.util.Locale;
+import java.util.regex.Pattern;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
@@ -10,16 +11,18 @@ import org.bukkit.inventory.ItemStack;
public class Commanditem extends EssentialsCommand
{
+ private final transient Pattern data = Pattern.compile("[:+',;.]");
+
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
throw new NotEnoughArgumentsException();
-
+
}
if (args.length > 1 && args[0].equals("love") && args[1].equals("you"))
- {
+ {
user.sendMessage("What is love?");
user.sendMessage("Baby don't hurt me");
return;
@@ -36,12 +39,12 @@ public class Commanditem extends EssentialsCommand
{
stack.setAmount(Integer.parseInt(args[1]));
}
-
+
if (args.length > 2 && Permissions.ITEM_ENCHANTED.isAuthorized(user))
{
for (int i = 2; i < args.length; i++)
{
- final String[] split = args[i].split("[:+',;.]", 2);
+ final String[] split = data.split(args[i], 2);
if (split.length < 1)
{
continue;
@@ -66,14 +69,14 @@ public class Commanditem extends EssentialsCommand
}
}
}
-
+
if (stack.getTypeId() == 0)
{
throw new Exception(_("cantSpawnItem", "Air"));
}
user.giveItems(stack, false);
-
+
final String displayName = stack.getType().toString().toLowerCase(Locale.ENGLISH).replace('_', ' ');
user.sendMessage(_("itemSpawn", stack.getAmount(), displayName));
}
diff --git a/Essentials/src/net/ess3/commands/Commandsethome.java b/Essentials/src/net/ess3/commands/Commandsethome.java
index 48ebb0990..743cbb611 100644
--- a/Essentials/src/net/ess3/commands/Commandsethome.java
+++ b/Essentials/src/net/ess3/commands/Commandsethome.java
@@ -1,6 +1,7 @@
package net.ess3.commands;
import java.util.Locale;
+import java.util.regex.Pattern;
import static net.ess3.I18n._;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
@@ -8,13 +9,15 @@ import net.ess3.permissions.Permissions;
public class Commandsethome extends EssentialsCommand
{
+ private final transient Pattern colon = Pattern.compile(":");
+
@Override
public void run(final IUser user, final String commandLabel, String[] args) throws Exception
{
if (args.length > 0)
{
//Allowing both formats /sethome khobbits house | /sethome khobbits:house
- final String[] nameParts = args[0].split(":");
+ final String[] nameParts = colon.split(args[0]);
if (nameParts[0].length() != args[0].length())
{
args = nameParts;
diff --git a/Essentials/src/net/ess3/commands/Commandspawnmob.java b/Essentials/src/net/ess3/commands/Commandspawnmob.java
index 2fe07e450..37bd26ebd 100644
--- a/Essentials/src/net/ess3/commands/Commandspawnmob.java
+++ b/Essentials/src/net/ess3/commands/Commandspawnmob.java
@@ -4,6 +4,7 @@ import java.util.HashSet;
import java.util.Locale;
import java.util.Random;
import java.util.Set;
+import java.util.regex.Pattern;
import static net.ess3.I18n._;
import net.ess3.api.ISettings;
import net.ess3.api.IUser;
@@ -22,6 +23,8 @@ import org.bukkit.material.Colorable;
public class Commandspawnmob extends EssentialsCommand
{
+ private final transient Pattern colon = Pattern.compile(":");
+
@Override
public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
@@ -45,7 +48,7 @@ public class Commandspawnmob extends EssentialsCommand
final String[] mountparts = args[0].split(",");
- String[] parts = mountparts[0].split(":");
+ String[] parts = colon.split(mountparts[0]);
String mobType = parts[0];
String mobData = null;
if (parts.length == 2)
@@ -56,7 +59,7 @@ public class Commandspawnmob extends EssentialsCommand
String mountData = null;
if (mountparts.length > 1)
{
- parts = mountparts[1].split(":");
+ parts = colon.split(mountparts[1]);
mountType = parts[0];
if (parts.length == 2)
{
diff --git a/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java b/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java
index 68e11936f..c73f9c02a 100644
--- a/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java
+++ b/Essentials/src/net/ess3/listener/EssentialsPlayerListener.java
@@ -7,6 +7,7 @@ import java.util.List;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;
+import java.util.regex.Pattern;
import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import net.ess3.api.ISettings;
@@ -171,7 +172,7 @@ public class EssentialsPlayerListener implements Listener
{
event.setJoinMessage(joinMessage);
}
-
+
final IUser user = ess.getUserMap().getUser(event.getPlayer());
user.updateDisplayName();
@@ -243,7 +244,7 @@ public class EssentialsPlayerListener implements Listener
default:
return;
}
-
+
ess.getUserMap().addPrejoinedPlayer(event.getPlayer());
final IUser user = ess.getUserMap().getUser(event.getPlayer());
ess.getUserMap().removePrejoinedPlayer(event.getPlayer());
@@ -318,12 +319,13 @@ public class EssentialsPlayerListener implements Listener
});
}
}
+ private final Pattern spaceSplit = Pattern.compile(" ");
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onPlayerCommandPreprocess(final PlayerCommandPreprocessEvent event)
{
final IUser user = ess.getUserMap().getUser(event.getPlayer());
- final String cmd = event.getMessage().toLowerCase(Locale.ENGLISH).split(" ")[0].replace("/", "").toLowerCase(Locale.ENGLISH);
+ final String cmd = spaceSplit.split(event.getMessage().toLowerCase(Locale.ENGLISH))[0].replace("/", "").toLowerCase(Locale.ENGLISH);
if (ess.getSettings().getData().getCommands().getSocalspy().getSocialspyCommands().contains(cmd))
{
for (Player player : ess.getServer().getOnlinePlayers())
diff --git a/Essentials/src/net/ess3/storage/BukkitConstructor.java b/Essentials/src/net/ess3/storage/BukkitConstructor.java
index 1a5159456..a3aa18b2e 100644
--- a/Essentials/src/net/ess3/storage/BukkitConstructor.java
+++ b/Essentials/src/net/ess3/storage/BukkitConstructor.java
@@ -21,6 +21,8 @@ import org.yaml.snakeyaml.nodes.*;
public class BukkitConstructor extends Constructor
{
private final transient Pattern NUMPATTERN = Pattern.compile("\\d+");
+ private final transient Pattern DATAPATTERN = Pattern.compile("[:+',;.]");
+ private final transient Pattern WORD = Pattern.compile("\\W");
private final transient IPlugin plugin;
public BukkitConstructor(final Class clazz, final IPlugin plugin)
@@ -59,7 +61,7 @@ public class BukkitConstructor extends Constructor
{
return null;
}
- final String[] split = val.split("[:+',;.]", 2);
+ final String[] split = DATAPATTERN.split(val, 2);
if (split.length == 0)
{
return null;
@@ -92,12 +94,12 @@ public class BukkitConstructor extends Constructor
{
return null;
}
- final String[] split1 = val.split("\\W");
+ final String[] split1 = WORD.split(val);
if (split1.length == 0)
{
return null;
}
- final String[] split2 = split1[0].split("[:+',;.]", 2);
+ final String[] split2 = DATAPATTERN.split(split1[0], 2);
if (split2.length == 0)
{
return null;
@@ -131,7 +133,7 @@ public class BukkitConstructor extends Constructor
{
for (int i = 2; i < split1.length; i++)
{
- final String[] split3 = split1[0].split("[:+',;.]", 2);
+ final String[] split3 = DATAPATTERN.split(split1[0], 2);
if (split3.length < 1)
{
continue;
@@ -175,7 +177,7 @@ public class BukkitConstructor extends Constructor
{
return null;
}
- final String[] split = val.split("[:+',;.]", 2);
+ final String[] split = DATAPATTERN.split(val, 2);
if (split.length == 0)
{
return null;
diff --git a/Essentials/src/net/ess3/user/UserMap.java b/Essentials/src/net/ess3/user/UserMap.java
index 57ef75daf..f586733f9 100644
--- a/Essentials/src/net/ess3/user/UserMap.java
+++ b/Essentials/src/net/ess3/user/UserMap.java
@@ -7,6 +7,7 @@ import java.util.LinkedHashSet;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
+import java.util.regex.Pattern;
import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
import net.ess3.api.IUserMap;
@@ -100,19 +101,19 @@ public class UserMap extends StorageObjectMap<IUser> implements IUserMap
{
return getObject(player.getName());
}
-
+
@Override
public IUser matchUser(final String name, final boolean includeOffline) throws TooManyMatchesException, PlayerNotFoundException
{
return matchUser(name, true, includeOffline, null);
}
-
+
@Override
public IUser matchUserExcludingHidden(final String name, final Player requester) throws TooManyMatchesException, PlayerNotFoundException
{
return matchUser(name, false, false, requester);
}
-
+
public IUser matchUser(final String name, final boolean includeHidden, final boolean includeOffline, final Player requester) throws TooManyMatchesException, PlayerNotFoundException
{
final Set<IUser> users = matchUsers(name, includeHidden, includeOffline, requester);
@@ -132,7 +133,7 @@ public class UserMap extends StorageObjectMap<IUser> implements IUserMap
}
}
}
-
+
@Override
public Set<IUser> matchUsers(final String name, final boolean includeOffline)
{
@@ -144,11 +145,12 @@ public class UserMap extends StorageObjectMap<IUser> implements IUserMap
{
return matchUsers(name, false, false, requester);
}
-
+ private final Pattern comma = Pattern.compile(",");
+
public Set<IUser> matchUsers(final String name, final boolean includeHidden, final boolean includeOffline, final Player requester)
{
final String colorlessName = FormatUtil.stripColor(name);
- final String[] search = colorlessName.split(",");
+ final String[] search = comma.split(colorlessName);
final boolean multisearch = search.length > 1;
final Set<IUser> result = new LinkedHashSet<IUser>();
final String nicknamePrefix = FormatUtil.stripColor(getNickNamePrefix());