com.day.cq.dam.api.reporting.ReportGenerationService Maven / Gradle / Ivy
/*************************************************************************
*
* ADOBE CONFIDENTIAL
* __________________
*
* Copyright 2018 Adobe Systems Incorporated
* All Rights Reserved.
*
* NOTICE: All information contained herein is, and remains
* the property of Adobe Systems Incorporated and its suppliers,
* if any. The intellectual and technical concepts contained
* herein are proprietary to Adobe Systems Incorporated and its
* suppliers and are protected by trade secret or copyright law.
* Dissemination of this information or reproduction of this material
* is strictly forbidden unless prior written permission is obtained
* from Adobe Systems Incorporated.
**************************************************************************/
package com.day.cq.dam.api.reporting;
import org.apache.sling.api.resource.ResourceResolver;
/**
* A service that provides an implementation for generation of a report.
* This helps in extending the reporting functionality to reports which
* may (may not) be on JCR.
* There can be one implementation per report type.
*/
public interface ReportGenerationService {
/**
* Creates a report and saves it to the path specified.
* @param resolver Resource resolver for saving report to JCR
* @param absoluteFilePath Path for the report to be stored.
* @return whether the report generation was successful
* @throws Exception
*/
boolean generateReport(ResourceResolver resolver, String absoluteFilePath) throws Exception;
/**
* @return Name of the report type associated with this service
*/
String getName();
}