public static EnumTargetTask getEnumByValue(String value) { EnumTargetTask[] enums = EnumTargetTask.values(); int enumsNumber = enums.length; for (int i = 0; i < enumsNumber; i++) { EnumTargetTask type = enums[i]; if (value.equals(type.getValue())) { return type; } } return UNKNOWN; }
public boolean isIn(EnumTargetTask dir) { EnumTargetTask current = EnumTargetTask.getEnumByValue(this.value); while (!current.getValue().equals(current.getDir())) { if (current == dir) { return true; } else { current = EnumTargetTask.getEnumByDir(current.getDir()); } } if (current == dir) { return true; } return false; }