Skip to content

Commit 1d3ce37

Browse files
authored
Add util method for parsing UUIDs (#111)
1 parent ef76864 commit 1d3ce37

File tree

2 files changed

+26
-15
lines changed

2 files changed

+26
-15
lines changed

src/main/java/com/denizenscript/denizencore/objects/core/JavaReflectedObjectTag.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010

1111
import java.lang.reflect.Field;
1212
import java.lang.reflect.Modifier;
13-
import java.util.*;
13+
import java.util.ArrayList;
14+
import java.util.HashMap;
15+
import java.util.UUID;
1416
import java.util.function.Consumer;
1517

1618
public class JavaReflectedObjectTag implements ObjectTag {
@@ -50,13 +52,8 @@ public static JavaReflectedObjectTag valueOf(String string, TagContext context)
5052
return null;
5153
}
5254
clearOldRefs();
53-
try {
54-
UUID uuid = UUID.fromString(id);
55-
return persistedReferences.get(uuid);
56-
}
57-
catch (IllegalArgumentException ex) {
58-
return null;
59-
}
55+
UUID uuid = CoreUtilities.tryParseUUID(id);
56+
return uuid != null ? persistedReferences.get(uuid) : null;
6057
}
6158

6259
public static boolean matches(String string) {

src/main/java/com/denizenscript/denizencore/utilities/CoreUtilities.java

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
package com.denizenscript.denizencore.utilities;
22

33
import com.denizenscript.denizencore.DenizenCore;
4-
import com.denizenscript.denizencore.objects.*;
5-
import com.denizenscript.denizencore.objects.core.*;
6-
import com.denizenscript.denizencore.scripts.ScriptBuilder;
7-
import com.denizenscript.denizencore.scripts.ScriptHelper;
8-
import com.denizenscript.denizencore.tags.TagManager;
9-
import com.denizenscript.denizencore.utilities.debugging.Debug;
4+
import com.denizenscript.denizencore.objects.ArgumentHelper;
5+
import com.denizenscript.denizencore.objects.Mechanism;
6+
import com.denizenscript.denizencore.objects.ObjectFetcher;
7+
import com.denizenscript.denizencore.objects.ObjectTag;
8+
import com.denizenscript.denizencore.objects.core.ElementTag;
9+
import com.denizenscript.denizencore.objects.core.ListTag;
10+
import com.denizenscript.denizencore.objects.core.MapTag;
1011
import com.denizenscript.denizencore.objects.properties.Property;
1112
import com.denizenscript.denizencore.objects.properties.PropertyParser;
13+
import com.denizenscript.denizencore.scripts.ScriptBuilder;
14+
import com.denizenscript.denizencore.scripts.ScriptHelper;
1215
import com.denizenscript.denizencore.tags.Attribute;
1316
import com.denizenscript.denizencore.tags.TagContext;
17+
import com.denizenscript.denizencore.tags.TagManager;
18+
import com.denizenscript.denizencore.utilities.debugging.Debug;
1419
import com.denizenscript.denizencore.utilities.text.StringHolder;
1520

1621
import java.io.*;
@@ -475,7 +480,7 @@ public static boolean contains(String str, char c) {
475480

476481
public static String concat(List<String> str, String split) {
477482
StringBuilder sb = new StringBuilder();
478-
if (str.size() > 0) {
483+
if (!str.isEmpty()) {
479484
sb.append(str.get(0));
480485
}
481486
for (int i = 1; i < str.size(); i++) {
@@ -599,6 +604,15 @@ else if (c > 128 && Character.isUpperCase(c)) {
599604
return new String(data);
600605
}
601606

607+
public static UUID tryParseUUID(String uuid) {
608+
try {
609+
return UUID.fromString(uuid);
610+
}
611+
catch (IllegalArgumentException ignored) {
612+
return null;
613+
}
614+
}
615+
602616
public static String getXthArg(int argc, String args) {
603617
char[] data = args.toCharArray();
604618
StringBuilder nArg = new StringBuilder();

0 commit comments

Comments
 (0)