Interface ReportArtifact

All Superinterfaces:
AutoCloseable, PdfArtifact

public interface ReportArtifact extends PdfArtifact

render 完成的報表產物(REP-05);以 renderer 的暫存檔承載,關閉後刪除

產物不是 Entity:要保存就交給 StoredReports.save(FileStorage, String, ReportArtifact),要直接下載就交給 ReportResponses(兩者都會接手並關閉)。

  • 關閉後 openStream()、transferTo(OutputStream) 丟出 IllegalStateException; 已開啟的串流仍可讀完,暫存檔在最後一個串流關閉時刪除
  • 刪除暫存檔失敗不丟出例外,以 WARN 記錄(report.resource.cleanup-failed)
  • 未關閉而被回收時刪除暫存檔並記錄 WARN;這是保險,不能取代關閉
try (var artifact = renderer.render(document, RenderOptions.defaults())) {
    artifact.transferTo(out);
}
Since:
4.0.0