Created toString and EnumUtils class to fix case dependent casting string to enum.
This commit is contained in:
@ -1,5 +1,7 @@
|
|||||||
package dev.micle.xptools.config;
|
package dev.micle.xptools.config;
|
||||||
|
|
||||||
|
import dev.micle.xptools.util.EnumUtils;
|
||||||
|
|
||||||
public class OperationItem {
|
public class OperationItem {
|
||||||
private boolean isTag;
|
private boolean isTag;
|
||||||
private String id;
|
private String id;
|
||||||
@ -16,7 +18,7 @@ public class OperationItem {
|
|||||||
isTag = splitString[0].startsWith("#");
|
isTag = splitString[0].startsWith("#");
|
||||||
id = isTag ? splitString[0].substring(1) : splitString[0];
|
id = isTag ? splitString[0].substring(1) : splitString[0];
|
||||||
|
|
||||||
type = OperationType.valueOf(splitString[1]);
|
type = EnumUtils.valueOf(OperationType.class, splitString[1]);
|
||||||
|
|
||||||
min = Float.parseFloat(splitString[2]);
|
min = Float.parseFloat(splitString[2]);
|
||||||
max = Float.parseFloat(splitString[3]);
|
max = Float.parseFloat(splitString[3]);
|
||||||
@ -27,6 +29,21 @@ public class OperationItem {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String toString() {
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
if (isTag) {
|
||||||
|
builder.append("#");
|
||||||
|
}
|
||||||
|
builder
|
||||||
|
.append(id).append(",")
|
||||||
|
.append(type.toString()).append(",")
|
||||||
|
.append(min).append(",").append(max).append(",")
|
||||||
|
.append(priority).append(",")
|
||||||
|
.append(isLast);
|
||||||
|
|
||||||
|
return builder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isTag() {
|
public boolean isTag() {
|
||||||
return isTag;
|
return isTag;
|
||||||
}
|
}
|
||||||
|
17
src/main/java/dev/micle/xptools/util/EnumUtils.java
Normal file
17
src/main/java/dev/micle/xptools/util/EnumUtils.java
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
package dev.micle.xptools.util;
|
||||||
|
|
||||||
|
public class EnumUtils {
|
||||||
|
public static <T extends Enum<?>> T valueOf(Class<T> clazz, String name) {
|
||||||
|
for (T e : clazz.getEnumConstants()) {
|
||||||
|
if (e.name().equalsIgnoreCase(name)) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T extends Enum<?>> T valueOfOrDefault(Class<T> clazz, String name, T defaultValue) {
|
||||||
|
T value = valueOf(clazz, name);
|
||||||
|
return (value == null) ? defaultValue : value;
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user