blob: 97aa4ded17b5457e656ff3adbd94a44fc596e40e [file] [log] [blame]
/**
*
* Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
*/
package org.eclipse.osbp.ui.api.report;
import java.io.InputStream;
import java.util.Map;
import org.eclipse.e4.core.contexts.IEclipseContext;
import org.eclipse.osbp.ui.api.customfields.IBlobService;
import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService;
import org.eclipse.osbp.ui.api.themes.IThemeResourceService;
import org.eclipse.osbp.ui.api.user.IUser;
public interface IReportProvider {
public final static String APPCONTEXT_REPORT = "AppContext_Report";
public final static String APPCONTEXT_ECLIPSECONTEXT = "EclipseContext_Report";
public final static String APPCONTEXT_DATAMARTINSTANCE = "DatamartInstance_Report";
public final static String APPCONTEXT_FILTERMAP = "FilterMap_Report";
public final static String APPCONTEXT_PROPERTYLOOKUP = "PropertyLookup_Report";
public enum Rendering {
PDF_FILE(false, true, true, false, false), PDF_STREAM(false, true, false, true, false),
/** @see {@link http://www.eclipse.org/forums/index.php/t/204085/} */
PDF_PRINT_STREAM(false, true, false, true, true), HTML_FILE(true, false, true, false, false), HTML_STREAM(true, false, false, true, false);
public boolean asHtml() {
return fAsHtml;
}
public boolean asPdf() {
return fAsPdf;
}
public boolean asFile() {
return fAsFile;
}
public boolean asStream() {
return fAsStream;
}
public boolean forPrinting() {
return fForPrinting;
}
private final boolean fAsHtml;
private final boolean fAsPdf;
private final boolean fAsFile;
private final boolean fAsStream;
private final boolean fForPrinting;
Rendering(boolean asHtml, boolean asPdf, boolean asFile, boolean asStream, boolean forPrinting) {
fAsHtml = asHtml;
fAsPdf = asPdf;
fAsFile = asFile;
fAsStream = asStream;
fForPrinting = forPrinting;
}
}
void printReportAsPdf(String reportId, IEclipseContext eclipseContext, Map<String, String> filterMap);
InputStream get(String reportId, IEclipseContext eclipseContext, Map<String, String> filterMap);
InputStream get(String reportId, IEclipseContext eclipseContext, Map<String, String> filterMap, Rendering renderer, String outputPath);
}