li.strolch.report.Report Maven / Gradle / Ivy
package li.strolch.report;
import static li.strolch.report.ReportConstants.TYPE_REPORT;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Stream;
import com.google.gson.JsonObject;
import li.strolch.agent.api.ComponentContainer;
import li.strolch.model.Resource;
import li.strolch.model.StrolchRootElement;
import li.strolch.model.policy.PolicyDef;
import li.strolch.persistence.api.StrolchTransaction;
import li.strolch.policy.PolicyHandler;
import li.strolch.report.policy.ReportPolicy;
import li.strolch.utils.collections.DateRange;
import li.strolch.utils.collections.MapOfSets;
public class Report {
private final ReportPolicy reportPolicy;
public Report(ComponentContainer container, StrolchTransaction tx, String reportId) {
Resource reportRes = tx.getResourceBy(TYPE_REPORT, reportId, true);
PolicyDef reportPolicyDef = reportRes.getPolicyDef(ReportPolicy.class.getSimpleName());
PolicyHandler policyHandler = container.getComponent(PolicyHandler.class);
this.reportPolicy = policyHandler.getPolicy(reportPolicyDef, tx);
this.reportPolicy.initialize(reportId);
}
public boolean hasDateRangeSelector() {
return this.reportPolicy.hasDateRangeSelector();
}
public Report dateRange(DateRange dateRange) {
this.reportPolicy.dateRange(dateRange);
return this;
}
public List getColumnKeys() {
return this.reportPolicy.getColumnKeys();
}
public Report filter(String type, String... ids) {
this.reportPolicy.filter(type, ids);
return this;
}
public Report filter(String type, List ids) {
this.reportPolicy.filter(type, ids);
return this;
}
public Report filter(String type, Set ids) {
this.reportPolicy.filter(type, ids);
return this;
}
public Stream
© 2015 - 2025 Weber Informatics LLC | Privacy Policy