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
>>>
>>
>>
>

Reply via email to