net.sf.jasperreports.engine.fill
Class AsynchronousFillHandle

java.lang.Object
  extended by net.sf.jasperreports.engine.fill.BaseFillHandle
      extended by net.sf.jasperreports.engine.fill.AsynchronousFillHandle
All Implemented Interfaces:
FillHandle

public class AsynchronousFillHandle
extends BaseFillHandle

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.

Version:
$Id: AsynchronousFillHandle.java 5180 2012-03-29 13:23:12Z teodord $
Author:
Lucian Chirita (lucianc@users.sourceforge.net)

Nested Class Summary
protected  class AsynchronousFillHandle.ThreadExecutor
           
 
Nested classes/interfaces inherited from class net.sf.jasperreports.engine.fill.BaseFillHandle
BaseFillHandle.ReportFiller
 
Field Summary
protected  java.lang.Thread fillThread
           
protected  java.lang.Integer priority
           
static java.lang.String PROPERTY_REPORT_ASYNC
          A property that determines whether a report can be generated and displayed asynchronously in a viewer.
protected  java.lang.String threadName
           
 
Fields inherited from class net.sf.jasperreports.engine.fill.BaseFillHandle
cancelled, conn, dataSource, filler, jasperReport, jasperReportsContext, listeners, lock, parameters, running, started
 
Constructor Summary
protected AsynchronousFillHandle(JasperReportsContext jasperReportsContext, JasperReport jasperReport, java.util.Map<java.lang.String,java.lang.Object> parameters)
           
protected AsynchronousFillHandle(JasperReportsContext jasperReportsContext, JasperReport jasperReport, java.util.Map<java.lang.String,java.lang.Object> parameters, java.sql.Connection conn)
           
protected AsynchronousFillHandle(JasperReportsContext jasperReportsContext, JasperReport jasperReport, java.util.Map<java.lang.String,java.lang.Object> parameters, JRDataSource dataSource)
           
protected AsynchronousFillHandle(JasperReportsContext jasperReportsContext, JasperReport jasperReport, java.util.Map<java.lang.String,java.lang.Object> parameters, JRDataSource dataSource, java.sql.Connection conn)
           
 
Method Summary
static AsynchronousFillHandle createHandle(JasperReport jasperReport, java.util.Map<java.lang.String,java.lang.Object> parameters)
           
static AsynchronousFillHandle createHandle(JasperReport jasperReport, java.util.Map<java.lang.String,java.lang.Object> parameters, java.sql.Connection conn)
           
static AsynchronousFillHandle createHandle(JasperReport jasperReport, java.util.Map<java.lang.String,java.lang.Object> parameters, JRDataSource dataSource)
           
static AsynchronousFillHandle createHandle(JasperReportsContext jasperReportsContext, JasperReport jasperReport, java.util.Map<java.lang.String,java.lang.Object> parameters)
          Creates an asychronous filling handle.
static AsynchronousFillHandle createHandle(JasperReportsContext jasperReportsContext, JasperReport jasperReport, java.util.Map<java.lang.String,java.lang.Object> parameters, java.sql.Connection conn)
          Creates an asychronous filling handle.
static AsynchronousFillHandle createHandle(JasperReportsContext jasperReportsContext, JasperReport jasperReport, java.util.Map<java.lang.String,java.lang.Object> parameters, JRDataSource dataSource)
          Creates an asychronous filling handle.
protected  java.util.concurrent.Executor getReportExecutor()
          Returns an executor that creates a new thread to perform the report execution.
 void setPriority(int priority)
          Sets the priority of the filler thread.
 void setThreadName(java.lang.String name)
          Sets the name of the filler thread.
 
Methods inherited from class net.sf.jasperreports.engine.fill.BaseFillHandle
addFillListener, addListener, cancellFill, isPageFinal, notifyCancel, notifyError, notifyFinish, removeListener, startFill
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTY_REPORT_ASYNC

public static final java.lang.String PROPERTY_REPORT_ASYNC
A property that determines whether a report can be generated and displayed asynchronously in a viewer. Asynchronous report generation implies displaying report pages before the report is complete.

See Also:
Constant Field Values

fillThread

protected java.lang.Thread fillThread

priority

protected java.lang.Integer priority

threadName

protected java.lang.String threadName
Constructor Detail

AsynchronousFillHandle

protected AsynchronousFillHandle(JasperReportsContext jasperReportsContext,
                                 JasperReport jasperReport,
                                 java.util.Map<java.lang.String,java.lang.Object> parameters,
                                 JRDataSource dataSource)
                          throws JRException
Throws:
JRException

AsynchronousFillHandle

protected AsynchronousFillHandle(JasperReportsContext jasperReportsContext,
                                 JasperReport jasperReport,
                                 java.util.Map<java.lang.String,java.lang.Object> parameters,
                                 java.sql.Connection conn)
                          throws JRException
Throws:
JRException

AsynchronousFillHandle

protected AsynchronousFillHandle(JasperReportsContext jasperReportsContext,
                                 JasperReport jasperReport,
                                 java.util.Map<java.lang.String,java.lang.Object> parameters)
                          throws JRException
Throws:
JRException

AsynchronousFillHandle

protected AsynchronousFillHandle(JasperReportsContext jasperReportsContext,
                                 JasperReport jasperReport,
                                 java.util.Map<java.lang.String,java.lang.Object> parameters,
                                 JRDataSource dataSource,
                                 java.sql.Connection conn)
                          throws JRException
Throws:
JRException
Method Detail

getReportExecutor

protected java.util.concurrent.Executor getReportExecutor()
Returns an executor that creates a new thread to perform the report execution.

Specified by:
getReportExecutor in class BaseFillHandle

createHandle

public static AsynchronousFillHandle createHandle(JasperReportsContext jasperReportsContext,
                                                  JasperReport jasperReport,
                                                  java.util.Map<java.lang.String,java.lang.Object> parameters,
                                                  JRDataSource dataSource)
                                           throws JRException
Creates an asychronous filling handle.

Parameters:
jasperReportsContext - the context
jasperReport - the report
parameters - the parameter map
dataSource - the data source
Returns:
the handle
Throws:
JRException

createHandle

public static AsynchronousFillHandle createHandle(JasperReportsContext jasperReportsContext,
                                                  JasperReport jasperReport,
                                                  java.util.Map<java.lang.String,java.lang.Object> parameters,
                                                  java.sql.Connection conn)
                                           throws JRException
Creates an asychronous filling handle.

Parameters:
jasperReportsContext - the context
jasperReport - the report
parameters - the parameter map
conn - the connection
Returns:
the handle
Throws:
JRException

createHandle

public static AsynchronousFillHandle createHandle(JasperReportsContext jasperReportsContext,
                                                  JasperReport jasperReport,
                                                  java.util.Map<java.lang.String,java.lang.Object> parameters)
                                           throws JRException
Creates an asychronous filling handle.

Parameters:
jasperReportsContext - the context
jasperReport - the report
parameters - the parameter map
Returns:
the handle
Throws:
JRException

createHandle

public static AsynchronousFillHandle createHandle(JasperReport jasperReport,
                                                  java.util.Map<java.lang.String,java.lang.Object> parameters,
                                                  JRDataSource dataSource)
                                           throws JRException
Throws:
JRException
See Also:
createHandle(JasperReportsContext, JasperReport, Map, JRDataSource)

createHandle

public static AsynchronousFillHandle createHandle(JasperReport jasperReport,
                                                  java.util.Map<java.lang.String,java.lang.Object> parameters,
                                                  java.sql.Connection conn)
                                           throws JRException
Throws:
JRException
See Also:
createHandle(JasperReportsContext, JasperReport, Map, Connection)

createHandle

public static AsynchronousFillHandle createHandle(JasperReport jasperReport,
                                                  java.util.Map<java.lang.String,java.lang.Object> parameters)
                                           throws JRException
Throws:
JRException
See Also:
createHandle(JasperReportsContext, JasperReport, Map)

setPriority

public void setPriority(int priority)
Sets the priority of the filler thread.

Parameters:
priority - the filler thread priority.
See Also:
Thread.setPriority(int)

setThreadName

public void setThreadName(java.lang.String name)
Sets the name of the filler thread.

Parameters:
name - the filler thread name.
See Also:
Thread.setName(java.lang.String)


© 2001-2010 Jaspersoft Corporation www.jaspersoft.com