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