165 lines
4.4 KiB
Java
165 lines
4.4 KiB
Java
package net.sf.jasperreports.engine.fill;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Locale;
|
|
import java.util.Map;
|
|
import java.util.TimeZone;
|
|
import net.sf.jasperreports.engine.JRException;
|
|
import net.sf.jasperreports.engine.JRPrintImage;
|
|
import net.sf.jasperreports.engine.JRPrintPage;
|
|
import net.sf.jasperreports.engine.JRTemplate;
|
|
import net.sf.jasperreports.engine.JasperReport;
|
|
import net.sf.jasperreports.engine.query.JRQueryExecuter;
|
|
import net.sf.jasperreports.engine.util.FormatFactory;
|
|
|
|
public class JRFillContext {
|
|
private Map loadedImages;
|
|
|
|
private Map loadedSubreports;
|
|
|
|
private Map loadedTemplates;
|
|
|
|
private boolean usingVirtualizer = false;
|
|
|
|
private boolean perPageBoundElements = false;
|
|
|
|
private JRPrintPage printPage = null;
|
|
|
|
private boolean ignorePagination = false;
|
|
|
|
private JRQueryExecuter queryExecuter;
|
|
|
|
private JRVirtualizationContext virtualizationContext;
|
|
|
|
private FormatFactory masterFormatFactory;
|
|
|
|
private Locale masterLocale;
|
|
|
|
private TimeZone masterTimeZone;
|
|
|
|
public JRFillContext() {
|
|
this.loadedImages = new HashMap();
|
|
this.loadedSubreports = new HashMap();
|
|
this.loadedTemplates = new HashMap();
|
|
}
|
|
|
|
public boolean hasLoadedImage(Object source) {
|
|
return this.loadedImages.containsKey(source);
|
|
}
|
|
|
|
public JRPrintImage getLoadedImage(Object source) {
|
|
return (JRPrintImage)this.loadedImages.get(source);
|
|
}
|
|
|
|
public void registerLoadedImage(Object source, JRPrintImage image) {
|
|
this.loadedImages.put(source, image);
|
|
if (this.usingVirtualizer)
|
|
this.virtualizationContext.cacheRenderer(image);
|
|
}
|
|
|
|
public boolean hasLoadedSubreport(Object source) {
|
|
return this.loadedSubreports.containsKey(source);
|
|
}
|
|
|
|
public JasperReport getLoadedSubreport(Object source) {
|
|
return (JasperReport)this.loadedSubreports.get(source);
|
|
}
|
|
|
|
public void registerLoadedSubreport(Object source, JasperReport subreport) {
|
|
this.loadedSubreports.put(source, subreport);
|
|
}
|
|
|
|
public void setUsingVirtualizer(boolean usingVirtualizer) {
|
|
this.usingVirtualizer = usingVirtualizer;
|
|
if (usingVirtualizer && this.virtualizationContext == null)
|
|
this.virtualizationContext = new JRVirtualizationContext();
|
|
}
|
|
|
|
public boolean isUsingVirtualizer() {
|
|
return this.usingVirtualizer;
|
|
}
|
|
|
|
public void setPerPageBoundElements(boolean perPageBoundElements) {
|
|
this.perPageBoundElements = perPageBoundElements;
|
|
}
|
|
|
|
public boolean isPerPageBoundElements() {
|
|
return this.perPageBoundElements;
|
|
}
|
|
|
|
public void setPrintPage(JRPrintPage page) {
|
|
this.printPage = page;
|
|
}
|
|
|
|
public JRPrintPage getPrintPage() {
|
|
return this.printPage;
|
|
}
|
|
|
|
public void setIgnorePagination(boolean ignorePagination) {
|
|
this.ignorePagination = ignorePagination;
|
|
}
|
|
|
|
public boolean isIgnorePagination() {
|
|
return this.ignorePagination;
|
|
}
|
|
|
|
public synchronized void setRunningQueryExecuter(JRQueryExecuter queryExecuter) {
|
|
this.queryExecuter = queryExecuter;
|
|
}
|
|
|
|
public synchronized void clearRunningQueryExecuter() {
|
|
this.queryExecuter = null;
|
|
}
|
|
|
|
public synchronized boolean cancelRunningQuery() throws JRException {
|
|
if (this.queryExecuter != null)
|
|
return this.queryExecuter.cancelQuery();
|
|
return false;
|
|
}
|
|
|
|
public void ensureMasterPageAvailable() {
|
|
if (this.usingVirtualizer)
|
|
this.printPage.getElements();
|
|
}
|
|
|
|
public JRVirtualizationContext getVirtualizationContext() {
|
|
return this.virtualizationContext;
|
|
}
|
|
|
|
public FormatFactory getMasterFormatFactory() {
|
|
return this.masterFormatFactory;
|
|
}
|
|
|
|
public void setMasterFormatFactory(FormatFactory masterFormatFactory) {
|
|
this.masterFormatFactory = masterFormatFactory;
|
|
}
|
|
|
|
public Locale getMasterLocale() {
|
|
return this.masterLocale;
|
|
}
|
|
|
|
public void setMasterLocale(Locale masterLocale) {
|
|
this.masterLocale = masterLocale;
|
|
}
|
|
|
|
public TimeZone getMasterTimeZone() {
|
|
return this.masterTimeZone;
|
|
}
|
|
|
|
public void setMasterTimeZone(TimeZone masterTimeZone) {
|
|
this.masterTimeZone = masterTimeZone;
|
|
}
|
|
|
|
public boolean hasLoadedTemplate(Object source) {
|
|
return this.loadedTemplates.containsKey(source);
|
|
}
|
|
|
|
public JRTemplate getLoadedTemplate(Object source) {
|
|
return (JRTemplate)this.loadedTemplates.get(source);
|
|
}
|
|
|
|
public void registerLoadedTemplate(Object source, JRTemplate template) {
|
|
this.loadedTemplates.put(source, template);
|
|
}
|
|
}
|