33 lines
1.3 KiB
Java
33 lines
1.3 KiB
Java
package p.packer.dtos;
|
|
|
|
import p.packer.messages.AssetReference;
|
|
import p.packer.messages.assets.AssetFamilyCatalog;
|
|
import p.packer.messages.assets.PackerAssetState;
|
|
import p.packer.messages.assets.PackerBuildParticipation;
|
|
|
|
import java.util.Objects;
|
|
|
|
public record PackerAssetSummaryDTO(
|
|
AssetReference assetReference,
|
|
PackerAssetIdentityDTO identity,
|
|
PackerAssetState state,
|
|
PackerBuildParticipation buildParticipation,
|
|
AssetFamilyCatalog assetFamily,
|
|
boolean preloadEnabled,
|
|
boolean hasDiagnostics) {
|
|
|
|
public PackerAssetSummaryDTO {
|
|
Objects.requireNonNull(assetReference, "assetReference");
|
|
Objects.requireNonNull(identity, "identity");
|
|
Objects.requireNonNull(state, "state");
|
|
Objects.requireNonNull(buildParticipation, "buildParticipation");
|
|
assetFamily = Objects.requireNonNullElse(assetFamily, AssetFamilyCatalog.UNKNOWN);
|
|
if (state == PackerAssetState.REGISTERED && identity.assetId() == null) {
|
|
throw new IllegalArgumentException("registered asset must expose assetId");
|
|
}
|
|
if (state == PackerAssetState.UNREGISTERED && buildParticipation != PackerBuildParticipation.EXCLUDED) {
|
|
throw new IllegalArgumentException("unregistered asset must stay excluded from build participation");
|
|
}
|
|
}
|
|
}
|