org.springframework.web.servlet.view.jasperreports

## Class ConfigurableJasperReportsView

- java.lang.Object
- - org.springframework.context.support.ApplicationObjectSupport
  - - org.springframework.web.context.support.WebApplicationObjectSupport
    - - org.springframework.web.servlet.view.AbstractView
      - - org.springframework.web.servlet.view.AbstractUrlBasedView
        - - org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView
          - - org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsSingleFormatView
            - - org.springframework.web.servlet.view.jasperreports.ConfigurableJasperReportsView

All Implemented Interfaces:
  Aware, BeanNameAware, InitializingBean, ApplicationContextAware, ServletContextAware, View

    public class ConfigurableJasperReportsView
    extends AbstractJasperReportsSingleFormatView

Configurable JasperReports View, allowing to specify the JasperReports exporter to be specified through bean properties rather than through the view class name.

Since:
  2.0
Author:
  Rob Harrop
See Also:
  `JasperReportsCsvView`, `JasperReportsHtmlView`, `JasperReportsPdfView`, `JasperReportsXlsView`

### Field Summary

### Fields inherited from class org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView

`CONTENT_DISPOSITION_INLINE, HEADER_CONTENT_DISPOSITION`

### Fields inherited from class org.springframework.web.servlet.view.AbstractView

`DEFAULT_CONTENT_TYPE`

### Fields inherited from class org.springframework.context.support.ApplicationObjectSupport

`logger`

### Fields inherited from interface org.springframework.web.servlet.View

`PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE, SELECTED_CONTENT_TYPE`

### Constructor Summary

Constructors
Constructor and Description
`ConfigurableJasperReportsView()`

### Method Summary

Methods
`protected net.sf.jasperreports.engine.JRExporter` `createExporter()` Returns a new instance of the specified `JRExporter` class.
`protected void` `onInit()` Checks that the `exporterClass` property is specified.
`void` `setExporterClass(Class<? extends net.sf.jasperreports.engine.JRExporter> exporterClass)` Set the `JRExporter` implementation `Class` to use.
`void` `setUseWriter(boolean useWriter)` Specifies whether or not the `JRExporter` writes to the `PrintWriter` of the associated with the request (`true`) or whether it writes directly to the `InputStream` of the request (`false`).
`protected boolean` `useWriter()` Indicates how the `JRExporter` should render its data.

### Methods inherited from class org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsSingleFormatView

`generatesDownloadContent, renderReport, renderReportUsingOutputStream, renderReportUsingWriter`

### Methods inherited from class org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView

`convertExporterParameters, convertParameterValue, convertReportData, convertToExporterParameter, createReport, exposeLocalizationContext, fillReport, getConvertedExporterParameters, getExporterParameter, getExporterParameters, getJdbcDataSource, getReport, getReportData, getReportDataTypes, initApplicationContext, isUrlRequired, loadReport, loadReport, postProcessReport, renderMergedOutputModel, setConvertedExporterParameters, setExporterParameters, setHeaders, setJdbcDataSource, setReportDataKey, setSubReportDataKeys, setSubReportUrls`

### Methods inherited from class org.springframework.web.servlet.view.AbstractUrlBasedView

`afterPropertiesSet, checkResource, getUrl, setUrl, toString`

### Methods inherited from class org.springframework.web.servlet.view.AbstractView

`addStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getStaticAttributes, isExposePathVariables, prepareResponse, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposePathVariables, setRequestContextAttribute, setResponseContentType, writeToResponse`

### Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport

`getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext`

### Methods inherited from class org.springframework.context.support.ApplicationObjectSupport

`getApplicationContext, getMessageSourceAccessor, requiredContextClass, setApplicationContext`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### ConfigurableJasperReportsView

    public ConfigurableJasperReportsView()

### Method Detail

#### setExporterClass

    public void setExporterClass(Class<? extends net.sf.jasperreports.engine.JRExporter> exporterClass)

Set the `JRExporter` implementation `Class` to use. Throws `IllegalArgumentException` if the `Class` doesn't implement `JRExporter`. Required setting, as it does not have a default.

#### setUseWriter

    public void setUseWriter(boolean useWriter)

Specifies whether or not the `JRExporter` writes to the `PrintWriter` of the associated with the request (`true`) or whether it writes directly to the `InputStream` of the request (`false`). Default is `true`.

#### onInit

    protected void onInit()

Checks that the `exporterClass` property is specified.

Overrides:
  `onInit` in class `AbstractJasperReportsView`
See Also:
  `AbstractJasperReportsView.initApplicationContext()`

#### createExporter

    protected net.sf.jasperreports.engine.JRExporter createExporter()

Returns a new instance of the specified `JRExporter` class.

Specified by:
  `createExporter` in class `AbstractJasperReportsSingleFormatView`
See Also:
  `setExporterClass(Class)`, `BeanUtils.instantiateClass(Class)`

#### useWriter

    protected boolean useWriter()

Indicates how the `JRExporter` should render its data.

Specified by:
  `useWriter` in class `AbstractJasperReportsSingleFormatView`
See Also:
  `setUseWriter(boolean)`