org.apache.struts2.views.jasperreports
Class ValueStackDataSource

java.lang.Object
  extended by org.apache.struts2.views.jasperreports.ValueStackDataSource
All Implemented Interfaces:
net.sf.jasperreports.engine.JRDataSource, net.sf.jasperreports.engine.JRRewindableDataSource

public class ValueStackDataSource
extends Object
implements net.sf.jasperreports.engine.JRRewindableDataSource

Ported to Struts.


Constructor Summary
ValueStackDataSource(com.opensymphony.xwork2.util.ValueStack valueStack, String dataSourceParam, boolean wrapField)
          Create a value stack data source on the given iterable property
 
Method Summary
 Object getFieldValue(net.sf.jasperreports.engine.JRField field)
          Get the value of a given field
 void moveFirst()
          Move to the first item.
 boolean next()
          Is there any more data
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ValueStackDataSource

public ValueStackDataSource(com.opensymphony.xwork2.util.ValueStack valueStack,
                            String dataSourceParam,
                            boolean wrapField)
Create a value stack data source on the given iterable property

Parameters:
valueStack - The value stack to base the data source on
dataSourceParam - The property to iterate over for the report
Method Detail

getFieldValue

public Object getFieldValue(net.sf.jasperreports.engine.JRField field)
                     throws net.sf.jasperreports.engine.JRException
Get the value of a given field

Specified by:
getFieldValue in interface net.sf.jasperreports.engine.JRDataSource
Parameters:
field - The field to get the value for. The expression language to get the value of the field is either taken from the description property or from the name of the field if the description is null.
Returns:
an Object containing the field value or a new ValueStackDataSource object if the field value evaluates to an object that can be iterated over.
Throws:
net.sf.jasperreports.engine.JRException - if there is a problem obtaining the value

moveFirst

public void moveFirst()
               throws net.sf.jasperreports.engine.JRException
Move to the first item.

Specified by:
moveFirst in interface net.sf.jasperreports.engine.JRRewindableDataSource
Throws:
net.sf.jasperreports.engine.JRException - if there is a problem with moving to the first data element

next

public boolean next()
             throws net.sf.jasperreports.engine.JRException
Is there any more data

Specified by:
next in interface net.sf.jasperreports.engine.JRDataSource
Returns:
true if there are more elements to iterate over and false otherwise
Throws:
net.sf.jasperreports.engine.JRException - if there is a problem determining whether there is more data


Copyright © 2000–2018 Apache Software Foundation. All rights reserved.