85 lines
2.2 KiB
Java
85 lines
2.2 KiB
Java
package dev.micle.xptools.operation;
|
|
|
|
import dev.micle.xptools.util.EnumUtils;
|
|
|
|
public class OperationItem {
|
|
private final boolean isTag;
|
|
private final String id;
|
|
private final OperationType type;
|
|
private final float min;
|
|
private final float max;
|
|
private final int priority;
|
|
private final boolean isLast;
|
|
|
|
public OperationItem(boolean isTag, String id, OperationType type, float min, float max, int priority, boolean isLast) {
|
|
this.isTag = isTag;
|
|
this.id = id;
|
|
this.type = type;
|
|
this.min = min;
|
|
this.max = max;
|
|
this.priority = priority;
|
|
this.isLast = isLast;
|
|
}
|
|
|
|
public static OperationItem fromConfig(String configString) {
|
|
String[] splitString = configString.split(",");
|
|
|
|
if (splitString.length == 6) {
|
|
boolean isTag = splitString[0].startsWith("#");
|
|
String id = isTag ? splitString[0].substring(1) : splitString[0];
|
|
OperationType type = EnumUtils.valueOf(OperationType.class, splitString[1]);
|
|
float min = Float.parseFloat(splitString[2]);
|
|
float max = Float.parseFloat(splitString[3]);
|
|
int priority = Integer.parseInt(splitString[4]);
|
|
boolean isLast = Boolean.parseBoolean(splitString[5]);
|
|
|
|
return new OperationItem(isTag, id, type, min, max, priority, isLast);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
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() {
|
|
return isTag;
|
|
}
|
|
|
|
public String getId() {
|
|
return id;
|
|
}
|
|
|
|
public OperationType getType() {
|
|
return type;
|
|
}
|
|
|
|
public float getMin() {
|
|
return min;
|
|
}
|
|
|
|
public float getMax() {
|
|
return max;
|
|
}
|
|
|
|
public int getPriority() {
|
|
return priority;
|
|
}
|
|
|
|
public boolean isLast() {
|
|
return isLast;
|
|
}
|
|
}
|