Class StoredReports
java.lang.Object
io.leandev.appfuse.report.StoredReports
把 ReportArtifact 保存到 FileStorage
StoredReport stored = StoredReports.save(fileStorage, partition, renderer.render(document, options));
partition 由應用決定:tenant 模組傳目前 tenant ID,tenantless 模組傳應用常數或依資料範圍設計的值。
保存期限由應用以 StoredReport.storedAt() 計算並自行刪除;框架不排程刪除。
- Since:
- 4.0.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic StoredReportsave(FileStorage storage, String partition, ReportArtifact artifact) 以系統時鐘記錄保存時間;見save(FileStorage, String, ReportArtifact, Clock)static StoredReportsave(FileStorage storage, String partition, ReportArtifact artifact, Clock clock) 保存並關閉 artifact
-
Method Details
-
save
以系統時鐘記錄保存時間;見save(FileStorage, String, ReportArtifact, Clock) -
save
public static StoredReport save(FileStorage storage, String partition, ReportArtifact artifact, Clock clock) 保存並關閉 artifact
接手 artifact 的 ownership:成功或失敗都會關閉。寫入成功即回傳結果;之後的清理失敗(讀取串流的關閉、 暫存檔刪除)只記錄 WARN,不影響回傳。寫入失敗時儲存的例外為主例外,不回傳結果;串流關閉的錯誤以 suppressed 附上。
- Parameters:
storage- 檔案儲存partition- 儲存分區鍵(不可為null)artifact- 產物;此方法負責關閉clock- 保存時間的時鐘(與RenderOptions.clock無關)- Returns:
- 保存結果
-