Class JRBandDataDataSource

java.lang.Object
io.jmix.reports.yarg.formatters.impl.jasper.JRBandDataDataSource
All Implemented Interfaces:
net.sf.jasperreports.engine.JRDataSource

public class JRBandDataDataSource extends Object implements net.sf.jasperreports.engine.JRDataSource
Provides bypass of BandData tree.
  • Field Details

  • Constructor Details

    • JRBandDataDataSource

      public JRBandDataDataSource(BandData root)
      Accepts root element. Goes down one level because root must not have elements.
      Parameters:
      root - of the tree
  • Method Details

    • next

      public boolean next() throws net.sf.jasperreports.engine.JRException
      Maintains visitedBands to continue bypass on the same level after return from deeper level of hierarchy. Creates iterator for each level.
      Specified by:
      next in interface net.sf.jasperreports.engine.JRDataSource
      Throws:
      net.sf.jasperreports.engine.JRException
    • getFieldValue

      public Object getFieldValue(net.sf.jasperreports.engine.JRField jrField) throws net.sf.jasperreports.engine.JRException
      Specified by:
      getFieldValue in interface net.sf.jasperreports.engine.JRDataSource
      Throws:
      net.sf.jasperreports.engine.JRException
    • subDataSource

      public JRBandDataDataSource subDataSource(String bandName)
      Search for first level children band with specified name and return new datasource with this band as root element.
    • createNewBand

      protected BandData createNewBand(String bandName)
    • containsVisitedBand

      protected boolean containsVisitedBand(String bandName)