审查这个生成的回调工厂。
为每个非空白任务 ID 构建一个可重复调用的 Runnable,保持输入顺序,在创建时绑定租户和 ID,不保留工厂或源列表,并返回不可修改的结果。
Java
import java.util.ArrayList;
import java.util.List;
class CallbackFactory {
private final String tenant;
CallbackFactory(String tenant) { this.tenant = tenant; }
List<Runnable> callbacks(List<String> jobIds) {
var result = new ArrayList<Runnable>();
int[] cursor = {0};
for (String jobId : jobIds) {
result.add(new Runnable() {
@Override
public void run() {
dispatch(tenant,
jobIds.get(cursor[0]++));
}
});
}
return result;
}
static void dispatch(String tenant, String jobId) {
System.out.println(tenant + ":" + jobId);
}
}
生成代码仅作示例,不代表任何特定模型