public boolean isGroupChange( final DataRow dataRow ) { final String field = getField(); if ( field == null ) { return false; } if ( dataRow.isChanged( field ) ) { return true; } return false; }
public List<SortConstraint> getSortingConstraint() { return mapFields( Collections.singletonList( getField() ) ); } }
private CrosstabRowGroup findRowGroup( final String field ) throws ReportProcessingException { for ( int i = 0; i < groups.length; i++ ) { final Group group = groups[i]; if ( group instanceof CrosstabRowGroup ) { final CrosstabRowGroup rowGroup = (CrosstabRowGroup) group; if ( ObjectUtilities.equal( rowGroup.getField(), field ) ) { return rowGroup; } } } // This is a hard error. No point in waiting to fail here. throw new ReportProcessingException( "Trying to find a crosstab-row for field '" + field + "', but there is none." ); }
private void collectCrosstabFields( final CrosstabGroup crosstabGroup, final HashSet<String> list ) { GroupBody body = crosstabGroup.getBody(); while ( body != null ) { if ( body instanceof CrosstabOtherGroupBody ) { final CrosstabOtherGroupBody cogb = (CrosstabOtherGroupBody) body; final CrosstabOtherGroup otherGroup = cogb.getGroup(); if ( otherGroup.getField() != null ) { list.add( otherGroup.getField() ); } body = otherGroup.getBody(); continue; } if ( body instanceof CrosstabRowGroupBody ) { final CrosstabRowGroupBody cogb = (CrosstabRowGroupBody) body; final CrosstabRowGroup otherGroup = cogb.getGroup(); if ( otherGroup.getField() != null ) { list.add( otherGroup.getField() ); } body = otherGroup.getBody(); continue; } if ( body instanceof CrosstabColumnGroupBody ) { final CrosstabColumnGroupBody cogb = (CrosstabColumnGroupBody) body; final CrosstabColumnGroup otherGroup = cogb.getGroup(); body = otherGroup.getBody(); continue; } break; } }
final CrosstabRowGroupBody cogb = (CrosstabRowGroupBody) body; final CrosstabRowGroup otherGroup = cogb.getGroup(); list.add( otherGroup.getField() ); body = otherGroup.getBody(); continue;
if ( group.getField() == null ) { crosstabLayout.startSummaryRowProcessing( false, gidx, null ); return; final CrosstabCell element = dataBody.findElement( group.getField(), null ); if ( element == null ) { crosstabLayout.startSummaryRowProcessing( false, gidx, null ); layoutModelBuilder.finishBox(); crosstabLayout.startSummaryRowProcessing( true, gidx, group.getField() ); crosstabLayout.setDetailsRendered( false ); crosstabLayout.setProcessingCrosstabHeader( false );
for ( int i = 1; i < elementCount; i += 1 ) { final CrosstabCell cell = (CrosstabCell) crosstabCellBody.getElement( i ); if ( ObjectUtilities.equal( cell.getRowField(), rowGroup.getField() ) ) { processRootBand( cell );