private Object getRowData ( final Object rowId ) { // We cache row id --> row bean mapping per request for performance (to avoid nested loops) Map dataByRowId = ( Map ) getScratchMap ( ) . get ( SCRATCHMAP_DATA_BY_ROW_ID_KEY ) ; if ( dataByRowId == null ) { dataByRowId = createRowIdCache ( ) ; } Object data = dataByRowId . get ( rowId ) ; if ( data == null && ! dataByRowId . containsKey ( rowId ) ) { // Ok, new data has probably been added. We need to cache the new data. dataByRowId = createRowIdCache ( ) ; data = dataByRowId . get ( rowId ) ; } return data ; }
Returns the row data corresponding to the given id .