package tech.easyflow.datacenter.execution.model;

import tech.easyflow.datacenter.entity.DatacenterTable;
import tech.easyflow.datacenter.entity.DatacenterTableField;
import tech.easyflow.datacenter.meta.entity.DatacenterCatalog;
import tech.easyflow.datacenter.meta.entity.DatacenterDatasetVersion;
import tech.easyflow.datacenter.meta.entity.DatacenterDerivedTable;
import tech.easyflow.datacenter.meta.entity.DatacenterSource;

import java.util.ArrayList;
import java.util.List;

public class DatacenterSchemaResponse {
    private DatasetRef datasetRef;
    private DatacenterSource source;
    private DatacenterCatalog catalog;
    private DatacenterTable table;
    private List<DatacenterTableField> fields = new ArrayList<>();
    private List<DatacenterDatasetVersion> versions = new ArrayList<>();
    private List<DatacenterDerivedTable> upstreamLineage = new ArrayList<>();
    private List<DatacenterDerivedTable> downstreamLineage = new ArrayList<>();

    public DatasetRef getDatasetRef() { return datasetRef; }
    public void setDatasetRef(DatasetRef datasetRef) { this.datasetRef = datasetRef; }
    public DatacenterSource getSource() { return source; }
    public void setSource(DatacenterSource source) { this.source = source; }
    public DatacenterCatalog getCatalog() { return catalog; }
    public void setCatalog(DatacenterCatalog catalog) { this.catalog = catalog; }
    public DatacenterTable getTable() { return table; }
    public void setTable(DatacenterTable table) { this.table = table; }
    public List<DatacenterTableField> getFields() { return fields; }
    public void setFields(List<DatacenterTableField> fields) { this.fields = fields; }
    public List<DatacenterDatasetVersion> getVersions() { return versions; }
    public void setVersions(List<DatacenterDatasetVersion> versions) { this.versions = versions; }
    public List<DatacenterDerivedTable> getUpstreamLineage() { return upstreamLineage; }
    public void setUpstreamLineage(List<DatacenterDerivedTable> upstreamLineage) { this.upstreamLineage = upstreamLineage; }
    public List<DatacenterDerivedTable> getDownstreamLineage() { return downstreamLineage; }
    public void setDownstreamLineage(List<DatacenterDerivedTable> downstreamLineage) { this.downstreamLineage = downstreamLineage; }
}
