/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package com.megatim.queryadhoc.queries.metadata; import com.megatim.queryadhoc.exceptions.BadDataValueException; import com.megatim.queryadhoc.exceptions.ColumnNotFoundException; import com.megatim.queryadhoc.exceptions.LocalDateTimeValueParseError; import com.megatim.queryadhoc.model.DbColumnDescription; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * * @author ASUS */ public class ParsedData { private final List> sourceData; private final List columnsDescription; private final String tableName; private final List> cachedData = new ArrayList<>(); public ParsedData(List> sourceData, List columnsDescription, String tableName) { this.sourceData = sourceData; this.tableName = tableName; this.columnsDescription = columnsDescription; } public List> data() throws BadDataValueException, LocalDateTimeValueParseError, ColumnNotFoundException { if (cachedData.isEmpty()) { for (Map data : sourceData) { cachedData.add(new ParsedDataRow(data, columnsDescription, tableName).dataRow()); } } return cachedData; } }