29 lines
1.3 KiB
Java
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"));
|
|
}
|
|
}
|