Review generated batch label planner

from Java language fundamentals
Java 25 LTS intermediate 6 min 4 issues to find

Review this generated batch-label planner before it processes production orders.

Preserve input order; reject negative item counts; label zero as empty, 1-10 as small, and values above 10 as large; append -rush to priority orders.

Java
import java.util.List;

record Order(String id, int itemCount, boolean priority) {}

class BatchPlanner {
    static List<String> plan(List<Order> orders) {
        var labels = new java.util.ArrayList<String>();
        for (int index = 0; index <= orders.size(); index++) {
            Order order = orders.get(index);
            String band;
            if (order.itemCount() > 0) {
                band = "small";
            } else if (order.itemCount() > 10) {
                band = "large";
            } else {
                band = "empty";
            }
            labels.add(order.id() + ":" + band
                    + (order.priority() ? "-rush" : ""));
        }
        return labels;
    }
}

generated code is illustrative, not from any one model

Open in playground
Report an error