in use-cases/employee-scheduling/src/main/java/org/acme/employeescheduling/bootstrap/DemoDataGenerator.java [177:195]
private List<String> joinAllCombinations(String[]... partArrays) {
int size = 1;
for (String[] partArray : partArrays) {
size *= partArray.length;
}
List<String> out = new ArrayList<>(size);
for (int i = 0; i < size; i++) {
StringBuilder item = new StringBuilder();
int sizePerIncrement = 1;
for (String[] partArray : partArrays) {
item.append(' ');
item.append(partArray[(i / sizePerIncrement) % partArray.length]);
sizePerIncrement *= partArray.length;
}
item.delete(0,1);
out.add(item.toString());
}
return out;
}