Class RowValidator

java.lang.Object
io.leandev.appfuse.report.internal.RowValidator

public final class RowValidator extends Object

表格列的驗證規則;建構時檢查記憶體中的列,讀取時檢查延遲來源的列,兩者共用本類別

群組結構以串流方式檢查:只保留目前開啟的群組路徑,記憶體不隨列數成長。

  • Method Details

    • forStreaming

      public static RowValidator forStreaming(int columnCount, String tablePath, List<ReportDiagnostic> sink)
      讀取延遲列時使用的驗證器;不追蹤節點 id(避免記憶體隨列數成長)
      Parameters:
      columnCount - 表格欄數
      tablePath - 表格的節點路徑
      sink - diagnostic 收集處
      Returns:
      驗證器
    • check

      public void check(TableRow row, long index)
      檢查一列;diagnostic 寫入建構時提供的收集處
      Parameters:
      row - 列
      index - 列在表格中的序號(從 0 起)
    • finish

      public void finish(long count)
      完整列來源結束時檢查是否有懸空跨列儲存格。
      Parameters:
      count - 已讀取的列數
    • openGroups

      public List<String> openGroups()
      目前開啟的群組路徑(供測試與 renderer 產生續接列參考)
      Returns:
      群組路徑