SprintConfig.java
package de.slothsoft.sprintsim.config;
import java.util.Arrays;
import java.util.Objects;
import de.slothsoft.sprintsim.Complexity;
import de.slothsoft.sprintsim.Task;
public class SprintConfig {
public static SprintConfig createDefault() {
return new SprintConfig(Arrays.stream(Complexity.values())
.map(c -> new TaskCreator().constructor(() -> new Task().complexity(c)))
.toArray(TaskCreator[]::new));
}
int lengthInDays = 10;
TaskCreator[] taskCreators;
public SprintConfig(TaskCreator... taskCreators) {
this.taskCreators = Objects.requireNonNull(taskCreators);
}
public TaskCreator[] getTaskCreators() {
return this.taskCreators;
}
public SprintConfig taskCreators(TaskCreator... newTaskCreators) {
setTaskCreators(newTaskCreators);
return this;
}
public void setTaskCreators(TaskCreator... taskCreators) {
this.taskCreators = Objects.requireNonNull(taskCreators);
}
public int getLengthInDays() {
return this.lengthInDays;
}
public SprintConfig lengthInDays(int newLengthInDays) {
setLengthInDays(newLengthInDays);
return this;
}
public void setLengthInDays(int lengthInDays) {
this.lengthInDays = lengthInDays;
}
}