33 lines
1.3 KiB
Java

package p.packer.building;
import java.nio.file.Path;
import java.util.List;
import java.util.Objects;
public record PackerPlannedAsset(
int assetId,
String assetUuid,
String assetName,
String assetFamily,
String relativeRoot,
String outputFormat,
String outputCodec,
boolean preload,
List<PackerPlannedInput> inputs,
Path assetRoot) {
public PackerPlannedAsset {
assetUuid = Objects.requireNonNull(assetUuid, "assetUuid").trim();
assetName = Objects.requireNonNull(assetName, "assetName").trim();
assetFamily = Objects.requireNonNull(assetFamily, "assetFamily").trim();
relativeRoot = Objects.requireNonNull(relativeRoot, "relativeRoot").trim();
outputFormat = Objects.requireNonNull(outputFormat, "outputFormat").trim();
outputCodec = Objects.requireNonNull(outputCodec, "outputCodec").trim();
inputs = List.copyOf(Objects.requireNonNull(inputs, "inputs"));
assetRoot = Objects.requireNonNull(assetRoot, "assetRoot").toAbsolutePath().normalize();
if (assetId <= 0 || assetUuid.isBlank() || assetName.isBlank() || relativeRoot.isBlank() || outputFormat.isBlank() || outputCodec.isBlank()) {
throw new IllegalArgumentException("planned asset fields must be valid");
}
}
}