As discussed in WICKET-4802 the third type parameter for IExportableColumn is not really needed and has been removed.
Martin Grigorov Wicket Training and Consulting On Sun, Feb 2, 2014 at 10:37 AM, Martin Grigorov <[email protected]>wrote: > The problem is that > public class PropertyColumn<T, S> extends AbstractColumn<T, S> implements > IExportableColumn<T, S, *Object*> mandates that return type. > The only correct way to fix this is to add third type parameter to > PropertyColumn: PropertyColumn<T, S, *D*>. > This will lead to compile errors and will require every app to add the > third type in 7.x. > Related ticket is: https://issues.apache.org/jira/browse/WICKET-4802 > > Martin Grigorov > Wicket Training and Consulting > > > On Fri, Jan 31, 2014 at 2:48 PM, Martin Grigorov <[email protected]>wrote: > >> It looks like an error. >> >> >> On Fri, Jan 31, 2014 at 1:44 PM, Martijn Dashorst < >> [email protected]> wrote: >> >>> public class PropertyColumn<T, S> extends AbstractColumn<T, S> implements >>> IExportableColumn<T, S, Object> >>> { >>> ... >>> >>> /** >>> * Factory method for generating a model that will generated the >>> displayed >>> value. Typically the >>> * model is a property model using the {@link #propertyExpression} >>> specified in the constructor. >>> * >>> * @param rowModel >>> * @return model >>> */ >>> @Override >>> public IModel<Object> getDataModel(IModel<T> rowModel) >>> { >>> PropertyModel<Object> propertyModel = new PropertyModel<>(rowModel, >>> propertyExpression); >>> return propertyModel; >>> } >>> } >>> >>> >>> Should the return type getDataModel(IModel<T> rowModel) rather be >>> IModel<?> >>> ? It is now impossible to return Model.of("foo") for instance, as >>> Model<String> can't be cast to IModel<Object> >>> >>> Martijn >>> >> >> >
