> I agree with Francis, but I'd also like to add that it seems hard to > expose 'never both' over API's AIUI - that is, setTarget doesn't > permit both package and project to be set, but individual fields would > permit that.
If the individual fields have setTarget() as their mutator, then any attempt to set both 'package' and 'project' would fail, just as any attempt to invoke setTarget(package=foo, project=bar) would fail. Any attempt to set 'package' when 'project' is already set would implicitly clear out 'project'. I take Francis's general point that we should think about the API that will feel most natural to the end-user, rather than publishing our internal API directly. I also take his specific point that having a single, polymorphous 'target' field > two fields > named operation. You can set 'target' to a package or a project, if you need to see what kind of object the target is you can GET it, if you want there to be no target you can set a single field to None. Leonard
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Mailing list: https://launchpad.net/~launchpad-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~launchpad-dev More help : https://help.launchpad.net/ListHelp

