package jnpf.bizcommon.onlyoffice.entity; import jakarta.validation.Valid; import jakarta.validation.constraints.Size; import lombok.Data; import java.util.List; import java.util.UUID; @Data public class DmsPrintRenderRequest { private UUID fileVersionId; private String fileName; private String accessTicket; /** Stable source ticket reused by every client-side batch. */ @Valid private DmsPrintRenderItem source; @Valid @Size(max = 20) private List items; public DmsPrintRenderItem legacyItem() { DmsPrintRenderItem item = new DmsPrintRenderItem(); item.setFileVersionId(fileVersionId); item.setFileName(fileName); item.setAccessTicket(accessTicket); return item; } public DmsPrintRenderItem sourceItem() { if (source != null) return source; if (items != null && !items.isEmpty()) return items.get(0); return legacyItem(); } }