All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.belladati.sdk.dataset.DataSet Maven / Gradle / Ivy

Go to download

The BellaDati SDK allows accessing a BellaDati server from 3rd-party applications using Java. This project contains the SDK's interface definitions.

There is a newer version: 0.9.15.1
Show newest version
package com.belladati.sdk.dataset;

import java.util.Date;
import java.util.List;

import com.belladati.sdk.dataset.data.DataTable;
import com.belladati.sdk.dataset.source.DataSource;
import com.belladati.sdk.exception.dataset.data.NoColumnsException;
import com.belladati.sdk.exception.dataset.data.UnknownServerColumnException;
import com.belladati.sdk.report.ReportInfo;
import com.belladati.sdk.util.CachedCollection;
import com.belladati.sdk.util.CachedList;
import com.belladati.sdk.util.Resource;

/**
 * A BellaDati data set definition.
 * 
 * @author Chris Hennigfeld
 */
public interface DataSet extends Resource {

	/**
	 * Returns the description of this data set.
	 * 
	 * @return the description of this data set
	 */
	String getDescription();

	/**
	 * Returns the name of the data set owner.
	 * 
	 * @return the name of the data set owner
	 */
	String getOwnerName();

	/**
	 * Returns the last change date of this data set.
	 * 
	 * @return the last change date of this data set, or null if it was
	 *         never changed
	 */
	Date getLastChange();

	/**
	 * Returns a list of all attributes used in this data set.
	 * 
	 * @return a list of all attributes used in this data set
	 */
	List getAttributes();

	/**
	 * Returns a list of all indicators used in this data set.
	 * 
	 * @return a list of all indicators used in this data set
	 */
	List getIndicators();

	/**
	 * Returns a list of all reports for this data set.
	 * 
	 * @return a list of all reports for this data set
	 */
	List getReports();

	/**
	 * Returns an empty data table matching this data set's structure. Populate
	 * this table in order to import data for the data set.
	 * 
	 * @return an empty data table matching this data set's structure
	 * @throws NoColumnsException if the data set doesn't have any columns
	 */
	DataTable createDataTable() throws NoColumnsException;

	/**
	 * Uploads the given data into this data set. This method doesn't perform
	 * any validation of the data; the caller should ensure it matches the data
	 * set's structure.
	 * 

* To ensure the structure is correct, generate the table calling * {@link #createDataTable()} on the same data set. * * @param data the data to upload * @return this data set * @throws UnknownServerColumnException if the data table contains a column * that doesn't exist in the data set */ DataSet uploadData(DataTable data) throws UnknownServerColumnException; /** * Returns the list of data sources for this data set. This is a cached * list, call {@link CachedCollection#loadFirstTime()} to populate it * initially. * * @return the list of data sources for this data set */ CachedList getDataSources(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy