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

com.belladati.sdk.view.View 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.view;

import java.util.Collection;

import com.belladati.sdk.filter.Filter;
import com.belladati.sdk.intervals.DateUnit;
import com.belladati.sdk.intervals.Interval;
import com.belladati.sdk.intervals.TimeUnit;
import com.belladati.sdk.util.Resource;

/**
 * A BellaDati view in a report or dashboard. Call
 * {@link #loadContent(Filter...)} to get the view's displayable content.
 * 
 * @author Chris Hennigfeld
 */
public interface View extends Resource {

	/**
	 * Returns the type of this view.
	 * 
	 * @return the type of this view
	 */
	ViewType getType();

	/**
	 * Loads the content of this view. The type of this view determines what
	 * content to expect.
	 * 
	 * @param filters optional filters to use when loading the view
	 * @return the content of this view
	 */
	Object loadContent(Filter... filters);

	/**
	 * Loads the content of this view. The type of this view determines what
	 * content to expect.
	 * 
	 * @param filters filters to use when loading the view
	 * @return the content of this view
	 */
	Object loadContent(Collection> filters);

	/**
	 * Returns true if this view supports setting date intervals.
	 * 
	 * @return true if this view supports setting date intervals
	 */
	boolean isDateIntervalSupported();

	/**
	 * Returns true if this view supports setting time intervals.
	 * 
	 * @return true if this view supports setting time intervals
	 */
	boolean isTimeIntervalSupported();

	/**
	 * Returns true if this view has a date interval defined in its
	 * report.
	 * 
	 * @return true if this view has a date interval defined in its
	 *         report
	 */
	boolean hasPredefinedDateInterval();

	/**
	 * Returns true if this view has a time interval defined in its
	 * report.
	 * 
	 * @return true if this view has a time interval defined in its
	 *         report
	 */
	boolean hasPredefinedTimeInterval();

	/**
	 * Returns the view's date interval defined in its report, or null
	 * if there is no predefined interval.
	 * 
	 * @return the view's date interval defined in its report
	 */
	Interval getPredefinedDateInterval();

	/**
	 * Returns the view's time interval defined in its report, or null
	 * if there is no predefined interval.
	 * 
	 * @return the view's time interval defined in its report
	 */
	Interval getPredefinedTimeInterval();

	/**
	 * Creates a loader instance used to load this view with parameters.
	 * 
	 * @return a loader instance used to load this view with parameters
	 */
	ViewLoader createLoader();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy