Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.jasperreports.engine.data
Class JRJpaDataSource

    java.lang.Object
      net.sf.jasperreports.engine.data.JRAbstractBeanDataSource
          net.sf.jasperreports.engine.data.JRJpaDataSource

All Implemented Interfaces:
  JRDataSource, JRRewindableDataSource

    public class JRJpaDataSource

extends JRAbstractBeanDataSource

Java Persistence API data source that uses `javax.persistence.Query.getResultList()`.

The query result can be paginated by not retrieving all the rows at once.

Fields are mapped to values in the result following these rules:

- if the query returns a single object/bean (e.g. `SELECT m FROM Movie m` or `SELECT NEW MovieDescription(m.title, m.genre) FROM Movie m`), then the fields are mapped to bean property names.
- if the query returns multiple objects per row (e.g. `SELECT m.title, m.gender FROM Movie m`), the fields are mapped using the following syntax: COLUMN_index[.property], with the indexes starting from 1. Example mappings: COLUMN_1, COLUMN_2, COLUMN_2.title, COLUMN_2.movie.title.

Version:
  $Id: JRJpaDataSource.java 3438 2010-02-18 14:39:36Z teodord $
Author:
  Marcel Overdijk (marceloverdijk@hotmail.com)
See Also:
  `JRJpaQueryExecuterFactory.PROPERTY_JPA_QUERY_PAGE_SIZE`

Nested Class Summary
`protected static interface` | `JRJpaDataSource.FieldValueReader`
`protected class` | `JRJpaDataSource.IndexPropertyReader`
`protected class` | `JRJpaDataSource.IndexReader`
`protected class` | `JRJpaDataSource.PropertyReader`

Field Summary
`protected java.lang.Object` | `currentRow`

Fields inherited from class net.sf.jasperreports.engine.data.JRAbstractBeanDataSource
`CURRENT_BEAN_MAPPING, FIELD_DESCRIPTION_PROPERTY_NAME_PROVIDER, FIELD_NAME_PROPERTY_NAME_PROVIDER, propertyNameProvider`

Constructor Summary
`JRJpaDataSource(JRJpaQueryExecuter queryExecuter, int pageSize)`

Method Summary
`protected void` | `fetchPage()`
`java.lang.Object` | `getFieldValue(JRField field)` Gets the field value for the current position.
`protected JRJpaDataSource.FieldValueReader` | `getFieldValueReader(JRField field)`
`void` | `moveFirst()` Moves back to the first element in the data source.
`boolean` | `next()` Tries to position the cursor on the next element in the data source.

Methods inherited from class net.sf.jasperreports.engine.data.JRAbstractBeanDataSource
`getBeanProperty, getFieldValue, getPropertyName, isCurrentBeanMapping`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### currentRow

    protected java.lang.Object currentRow

Constructor Detail

### JRJpaDataSource

    public JRJpaDataSource(JRJpaQueryExecuter queryExecuter,
                           int pageSize)

Method Detail

### fetchPage

    protected void fetchPage()

### next

    public boolean next()

  Description copied from interface: `JRDataSource`
  Tries to position the cursor on the next element in the data source.

  Returns:
    true if there is a next record, false otherwise

### moveFirst

    public void moveFirst()

  Description copied from interface: `JRRewindableDataSource`
  Moves back to the first element in the data source.

### getFieldValue

    public java.lang.Object getFieldValue(JRField field)
                                   throws JRException

  Description copied from interface: `JRDataSource`
  Gets the field value for the current position.

  Returns:
    an object containing the field value. The object type must be the field object type.
  Throws:
    `JRException`

### getFieldValueReader

    protected JRJpaDataSource.FieldValueReader getFieldValueReader(JRField field)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

© 2001-2010 Jaspersoft Corporation www.jaspersoft.com