* processed.
*/
final int groupsPrinted = state.getCurrentGroupIndex();
for (int gidx = groupsPrinted; gidx >= 0; gidx -= 1)
{
final Group g = report.getGroup(gidx);
final GroupFooter footer = g.getFooter();
if (footer.isRepeat())
{
print(getRuntime(), footer);
somethingSticks |= footer.isSticky();
}
}
final LayouterLevel[] levels = DefaultOutputFunction.collectSubReportStates(event.getState(), getRuntime().getProcessingContext());
final int levelCount = levels.length;
for (int i = 0; i < levelCount; i++)
{
final LayouterLevel level = levels[i];
final ReportDefinition def = level.getReportDefinition();
if (level.isInItemGroup())
{
final DetailsFooter subDetailsFooter = report.getDetailsFooter();
if (subDetailsFooter.isSticky())
{
if (subDetailsFooter.isRepeat())
{
print(level.getRuntime(), subDetailsFooter);
}
else
{
printEmptyRootLevelBand();
}
somethingSticks = true;
}
else if (somethingSticks)
{
printEmptyRootLevelBand();
}
}
for (int gidx = level.getGroupIndex(); gidx >= 0; gidx -= 1)
{
final Group g = def.getGroup(gidx);
final GroupFooter footer = g.getFooter();
if (footer.isSticky())
{
if (footer.isRepeat())
{
print(level.getRuntime(), footer);