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

li.strolch.report.policy.ReportPolicy Maven / Gradle / Ivy

package li.strolch.report.policy;

import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Stream;

import li.strolch.agent.api.ComponentContainer;
import li.strolch.model.StrolchRootElement;
import li.strolch.persistence.api.StrolchTransaction;
import li.strolch.policy.StrolchPolicy;
import li.strolch.report.ReportElement;
import li.strolch.utils.collections.DateRange;
import li.strolch.utils.collections.MapOfSets;

public abstract class ReportPolicy extends StrolchPolicy {

	public ReportPolicy(ComponentContainer container, StrolchTransaction tx) {
		super(container, tx);
	}

	public abstract void initialize(String reportId);

	public abstract boolean hasDateRangeSelector();

	public abstract ReportPolicy dateRange(DateRange dateRange);

	public abstract List getColumnKeys();

	public abstract ReportPolicy filter(String type, String... ids);

	public abstract ReportPolicy filter(String type, List ids);

	public abstract ReportPolicy filter(String type, Set ids);

	public abstract Stream> buildStream();

	public abstract Stream doReport();

	public abstract MapOfSets generateFilterCriteria();

	@Override
	public void undo() {
		// can't be undone
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy