/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.smartitengineering.generator.engine.service; import com.smartitengineering.cms.api.factory.content.WriteableContent; import com.smartitengineering.cms.api.workspace.WorkspaceId; import java.util.Date; import java.util.Map; /** * The API to be used by external users to generate Report which are basically Content of CMS. * @author imyousuf */ public interface ReportExecutor { /** * A API to be implemented in scripting languages by report config sources. Its soul purpose is to execute processes * required for generating a report and creating a content that can hold the output. * @param params The parameters configured in report config * @param dateReportScheduledFor The date this report execution was scheduled for. * @return A CMS Content which is of a type that is instance of Report configured by this engine */ public WriteableContent createReport(WorkspaceId workspaceId, Date dateReportScheduledFor, Map<String, String> params); }