2026-03-24 13:42:45 +00:00

29 lines
1.3 KiB
Java

package p.packer.dtos;
import p.packer.messages.assets.OutputCodecCatalog;
import java.nio.file.Path;
import java.util.List;
import java.util.Map;
import java.util.Objects;
public record PackerAssetDetailsDTO(
PackerAssetSummaryDTO summary,
String outputFormat,
OutputCodecCatalog outputCodec,
List<OutputCodecCatalog> availableOutputCodecs,
Map<OutputCodecCatalog, List<PackerCodecConfigurationFieldDTO>> codecConfigurationFieldsByCodec,
Map<String, List<Path>> inputsByRole,
List<PackerDiagnosticDTO> diagnostics) {
public PackerAssetDetailsDTO {
Objects.requireNonNull(summary, "summary");
outputFormat = Objects.requireNonNullElse(outputFormat, "unknown").trim();
outputCodec = Objects.requireNonNullElse(outputCodec, OutputCodecCatalog.UNKNOWN);
availableOutputCodecs = List.copyOf(Objects.requireNonNull(availableOutputCodecs, "availableOutputCodecs"));
codecConfigurationFieldsByCodec = Map.copyOf(Objects.requireNonNull(codecConfigurationFieldsByCodec, "codecConfigurationFieldsByCodec"));
inputsByRole = Map.copyOf(Objects.requireNonNull(inputsByRole, "inputsByRole"));
diagnostics = List.copyOf(Objects.requireNonNull(diagnostics, "diagnostics"));
}
}