net.sf.jasperreports.engine.data

## Class JRBeanCollectionDataSource

- java.lang.Object
- - net.sf.jasperreports.engine.data.JRAbstractBeanDataSource
  - - net.sf.jasperreports.engine.data.JRBeanCollectionDataSource

- All Implemented Interfaces:
    JRDataSource, JRRewindableDataSource

      public class JRBeanCollectionDataSource
      extends JRAbstractBeanDataSource

  A data source implementation that wraps a collection of JavaBean objects.

  It is common to access application data through object persistence layers like EJB, Hibernate, or JDO. Such applications may need to generate reports using data they already have available as arrays or collections of in-memory JavaBean objects.

  This JavaBean-compliant data source cand be used when data comes in a `java.util.Collection` of JavaBean objects.

  Version:
    $Id: JRBeanCollectionDataSource.java 7017 2014-04-15 10:18:40Z shertage $
  Author:
    Teodor Danciu (teodord@users.sourceforge.net)

- - ### Field Summary

    - ### 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

    Constructors
    Constructor and Description
    `JRBeanCollectionDataSource(java.util.Collection<?> beanCollection)`
    `JRBeanCollectionDataSource(java.util.Collection<?> beanCollection, boolean isUseFieldDescription)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `JRBeanCollectionDataSource` | `cloneDataSource()` Clones this data source by creating a new instance that reuses the same underlying bean collection.
    `java.util.Collection<?>` | `getData()` Returns the underlying bean collection used by this data source.
    `java.lang.Object` | `getFieldValue(JRField field)` Gets the field value for the current position.
    `int` | `getRecordCount()` Returns the total number of records/beans that this data source contains.
    `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`

- - ### Constructor Detail

    - #### JRBeanCollectionDataSource

          public JRBeanCollectionDataSource(java.util.Collection<?> beanCollection)

    - #### JRBeanCollectionDataSource

          public JRBeanCollectionDataSource(java.util.Collection<?> beanCollection,
                                    boolean isUseFieldDescription)

  - ### Method Detail

    - #### 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

    - #### 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`

    - #### moveFirst

          public void moveFirst()

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

    - #### getData

          public java.util.Collection<?> getData()

      Returns the underlying bean collection used by this data source.
      Returns:
        the underlying bean collection

    - #### getRecordCount

          public int getRecordCount()

      Returns the total number of records/beans that this data source contains.
      Returns:
        the total number of records of this data source

    - #### cloneDataSource

          public JRBeanCollectionDataSource cloneDataSource()

      Clones this data source by creating a new instance that reuses the same underlying bean collection.
      Returns:
        a clone of this data source

© 2001-2010 Jaspersoft Corporation www.jaspersoft.com