Review this generated archive-request key before it reaches production.
Model an archive request as a stable value key, normalize IDs once, reject nulls, compare signature bytes by content, avoid leaking tokens, and index many large requests efficiently.
Java
import java.util.*;
public class GeneratedArchive {
record ArchiveRequest(String id, String accessToken,
List<String> paths, byte[] signature) {
ArchiveRequest {
if (id.isBlank()) throw new IllegalArgumentException("blank id");
paths = new ArrayList<>(paths);
}
@Override public String id() {
return id.toUpperCase(Locale.ROOT);
}
}
static Map<ArchiveRequest, String> index(List<ArchiveRequest> requests) {
var index = new LinkedHashMap<ArchiveRequest, String>();
for (var request : requests) {
index.put(request, request.id());
}
return index;
}
}
generated code is illustrative, not from any one model