@@ -378,7 +378,7 @@ public void beforeLeave(BeforeLeaveEvent event) {
378
378
*/
379
379
@ Override
380
380
protected BiFunction <Renderer <T >, String , Column <T >> getDefaultColumnFactory () {
381
- return (renderer , columnId ) -> new EnhancedColumn (this , columnId , renderer );
381
+ return (renderer , columnId ) -> new EnhancedColumn <> (this , columnId , renderer );
382
382
}
383
383
384
384
/**
@@ -387,10 +387,18 @@ protected BiFunction<Renderer<T>, String, Column<T>> getDefaultColumnFactory() {
387
387
*/
388
388
@ Override
389
389
public EnhancedColumn <T > addColumn (ValueProvider <T , ?> valueProvider ) {
390
- BiFunction <Renderer <T >, String , Column <T >> defaultFactory = getDefaultColumnFactory ();
391
- return (EnhancedColumn <T >) super .addColumn (valueProvider , defaultFactory );
390
+ return (EnhancedColumn <T >) super .addColumn (valueProvider );
392
391
}
393
392
393
+ @ SuppressWarnings ("unchecked" )
394
+ @ Override
395
+ protected <C extends Column <T >> C addColumn (ValueProvider <T , ?> valueProvider ,
396
+ BiFunction <Renderer <T >, String , C > columnFactory ) {
397
+ EnhancedColumn <T > column = (EnhancedColumn <T >) super .addColumn (valueProvider , columnFactory );
398
+ column .setValueProvider (valueProvider );
399
+ return (C ) column ;
400
+ }
401
+
394
402
/**
395
403
* @see Grid#addColumn(ValueProvider, String...)
396
404
*
@@ -428,6 +436,15 @@ public <V extends Component> EnhancedColumn<T> addComponentColumn(ValueProvider<
428
436
return (EnhancedColumn <T >) super .addComponentColumn (componentProvider );
429
437
}
430
438
439
+ /**
440
+ * @see Grid#getColumnByKey(String)
441
+ *
442
+ */
443
+ @ Override
444
+ public EnhancedColumn <T > getColumnByKey (String columnKey ) {
445
+ return (EnhancedColumn <T >) super .getColumnByKey (columnKey );
446
+ }
447
+
431
448
@ Override
432
449
public void onApplyFilter (Object filter ) {
433
450
applyFilter ();
0 commit comments