James M Snell wrote:
There are a number of aspects of the model api that have been bugging me
for some time.
For instance,
Feed.getEntries() returns a List, however, Feed.getEntries().add(...)
doesn't actually do anything. It makes more sense for Feed.getEntries()
to return an Iterator given that it's primary purpose is iterating
through the entries. Doing so also allows us to optimize the underlying
Axiom code (which provides efficient element iterators).
+1
There are also methods such as setCategories(List) that accept a list
that I'd like to remove mainly because I haven't yet come across a use
case in which building up the list of items separately then setting them
on the element makes any sense.
+1 - IMHO the api is too large at the moment. The number of setters,
adders and getters needs reducing. The Entry interface for example has
166 methods available on it at the moment (when superclasses are taken
into account). This is overwhelming and provides too many ways of doing
the same thing.
These changes would simplify and optimize the api a bit more.
If there are no objections, I can check in a fix today.
- James