← Back to team overview

launchpad-dev team mailing list archive

Re: Generic Colletion?

 

On Mon, Aug 2, 2010 at 12:35 PM, Julian Edwards
<julian.edwards@xxxxxxxxxxxxx> wrote:
...
> I'm sure there's a good reason for all of this, but I don't get it I'm afraid,
> can you educate this dunce?
>

For example,
  launchpad_branches =
getUtility(IAllBranches).visibleByUser(jml).inProduct(launchpad)
  print launchpad_branches.ownedBy(julian_edwards).getMergeProposals()

launchpad_branches provides IBranchCollection but not IAllBranches.
Only the IBranchCollection of all branches provides IAllBranches.
Having just one interface called "IFooSet" isn't enough to express
this relationship.

Also, when I first implemented BranchCollection, I deliberately made
it something different from our existing BranchSet. Although BranchSet
might have been intended in some distant past to be like
BranchCollection is now, the reality was nowhere near the intent. To
avoid people sticking methods like new() and
getTopFiveRecentProductBranchesForHomePage() on the BranchCollection,
I made it something different and gave it a different name.

Does this help?
jml



References