Package net.sf.jasperreports.engine.fill
Class BaseFillHandle
- java.lang.Object
-
- net.sf.jasperreports.engine.fill.BaseFillHandle
-
- All Implemented Interfaces:
FillHandle
- Direct Known Subclasses:
AsynchronousFillHandle
public abstract class BaseFillHandle extends java.lang.Object implements FillHandle
Base class used to perform report filling asychronously.An instance of this type can be used as a handle to an asychronous fill process. The main benefit of this method is that the filling process can be cancelled.
- Author:
- Lucian Chirita (lucianc@users.sourceforge.net)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classBaseFillHandle.ReportFill
-
Field Summary
Fields Modifier and Type Field Description protected booleancancelledprotected java.sql.Connectionconnprotected JRDataSourcedataSourceprotected ReportFillerfillerprotected JasperReportjasperReportprotected JasperReportsContextjasperReportsContextprotected java.util.List<AsynchronousFilllListener>listenersprotected java.lang.Objectlockprotected java.util.Map<java.lang.String,java.lang.Object>parametersprotected booleanrunningprotected booleanstarted
-
Constructor Summary
Constructors Modifier Constructor Description protectedBaseFillHandle(JasperReportsContext jasperReportsContext, JasperReportSource reportSource, java.util.Map<java.lang.String,java.lang.Object> parameters, JRDataSource dataSource, java.sql.Connection conn)protectedBaseFillHandle(JasperReportsContext jasperReportsContext, JasperReport jasperReport, java.util.Map<java.lang.String,java.lang.Object> parameters, JRDataSource dataSource, java.sql.Connection conn)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddFillListener(FillListener listener)Adds a fill listener to the filling process.voidaddListener(AsynchronousFilllListener listener)Adds a listener to the filling process.voidcancellFill()Cancels the fill started by the handle.protected abstract java.util.concurrent.ExecutorgetReportExecutor()booleanisPageFinal(int pageIdx)Determines wheter a page generated by the fill process is final or not.protected voidnotifyCancel()protected voidnotifyError(java.lang.Throwable e)protected voidnotifyFinish(JasperPrint print)booleanremoveListener(AsynchronousFilllListener listener)Removes a listener from the filling process.voidstartFill()Starts the filling process asychronously.
-
-
-
Field Detail
-
jasperReportsContext
protected final JasperReportsContext jasperReportsContext
-
jasperReport
protected final JasperReport jasperReport
-
parameters
protected final java.util.Map<java.lang.String,java.lang.Object> parameters
-
dataSource
protected final JRDataSource dataSource
-
conn
protected final java.sql.Connection conn
-
filler
protected final ReportFiller filler
-
listeners
protected final java.util.List<AsynchronousFilllListener> listeners
-
started
protected boolean started
-
running
protected boolean running
-
cancelled
protected boolean cancelled
-
lock
protected final java.lang.Object lock
-
-
Constructor Detail
-
BaseFillHandle
protected BaseFillHandle(JasperReportsContext jasperReportsContext, JasperReport jasperReport, java.util.Map<java.lang.String,java.lang.Object> parameters, JRDataSource dataSource, java.sql.Connection conn) throws JRException
- Throws:
JRException
-
BaseFillHandle
protected BaseFillHandle(JasperReportsContext jasperReportsContext, JasperReportSource reportSource, java.util.Map<java.lang.String,java.lang.Object> parameters, JRDataSource dataSource, java.sql.Connection conn) throws JRException
- Throws:
JRException
-
-
Method Detail
-
addListener
public void addListener(AsynchronousFilllListener listener)
Description copied from interface:FillHandleAdds a listener to the filling process.- Specified by:
addListenerin interfaceFillHandle- Parameters:
listener- the listener to be added
-
addFillListener
public void addFillListener(FillListener listener)
Description copied from interface:FillHandleAdds a fill listener to the filling process. The fill listener is notified of intermediate events that occur during the report generation.- Specified by:
addFillListenerin interfaceFillHandle- Parameters:
listener- the listener to add
-
removeListener
public boolean removeListener(AsynchronousFilllListener listener)
Description copied from interface:FillHandleRemoves a listener from the filling process.- Specified by:
removeListenerin interfaceFillHandle- Parameters:
listener- the listener to be removed- Returns:
- true if the listener was found and removed
-
startFill
public void startFill()
Description copied from interface:FillHandleStarts the filling process asychronously.The filling can be launched on a new thread and the method exits after the execution is started.
When the filling finishes either in success or failure, the listeners are notified.
- Specified by:
startFillin interfaceFillHandle
-
getReportExecutor
protected abstract java.util.concurrent.Executor getReportExecutor()
-
cancellFill
public void cancellFill() throws JRExceptionDescription copied from interface:FillHandleCancels the fill started by the handle.The method sends a cancel signal to the filling process. When the filling process will end, the listeners will be notified that the filling has been cancelled.
- Specified by:
cancellFillin interfaceFillHandle- Throws:
JRException
-
notifyFinish
protected void notifyFinish(JasperPrint print)
-
notifyCancel
protected void notifyCancel()
-
notifyError
protected void notifyError(java.lang.Throwable e)
-
isPageFinal
public boolean isPageFinal(int pageIdx)
Description copied from interface:FillHandleDetermines wheter a page generated by the fill process is final or not.- Specified by:
isPageFinalin interfaceFillHandle- Parameters:
pageIdx- the page index- Returns:
- whether the page at the specified index is final or can be subject to future changes
- See Also:
FillListener.pageUpdated(JasperPrint, int)
-
-