Model's factory methods are inconsistent
----------------------------------------
Key: WICKET-2374
URL: https://issues.apache.org/jira/browse/WICKET-2374
Project: Wicket
Issue Type: Improvement
Components: wicket
Reporter: Peter Ertl
Attachments: model-of.patch
When looking at the factory methods of org.apache.wicket.model.Model I think
that the naming of the static factory methods is not consistent:
Model.of(Collection)
Model.of(List)
Model.of(Set)
Model.ofMap(Map)
I think it would be better to have these:
Model.of(Collection)
Model.ofList(List)
Model.ofSet(Set)
Model.ofMap(Map)
Reasons:
- Naming is consistent
- When using a concrete type of collection, for example Model.ofList() for
feeding a list view you don't want a different type like a Map or Set to be
swapped in. From just looking at Model.of(items) you get no indication that
list is required but only after getting a compile error later. I think the
level of verbosity of having the type after "of" is helpful in most cases. you
can get the type of collection from just looking at the method name (otherwise
you have to scroll up and look for the type declaration or type some hotkey in
your IDE to get the type, how cumbersome :-). if you don't need some concrete
collection type you can still use Model.of(Collection).
I attached a patch to implement the proposed naming (and deprecate the previous
methods)
would be great to get this in before going final :-)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.