Moved operation classes into new package.
This commit is contained in:
84
src/main/java/dev/micle/xptools/operation/OperationItem.java
Normal file
84
src/main/java/dev/micle/xptools/operation/OperationItem.java
Normal file
@ -0,0 +1,84 @@
|
||||
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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user