I am pro explicit contracts, but for dataproviders I think the general use would be stateless, so no detach behavior necessary.
If we let IDataProvider extend IDetachable, then we have a lot of code breaks. Though these can easily be resolved by extending the following class instead of directly implementing IDataProvider: public abstract class AbstractDataProvider implements IDataProvider { /** * Override this method if you keep IModel's or any other state that * needs detaching. */ public void detach() { } } Martijn On 12/8/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote: > well the thing here is expressiveness. the way it is right now was done to > avoid api breaks. > > but if you look at the idataprovider - how do you know that you can make the > impl also implement idetachable and that will work? same can be said for > models, why have IModel extend IDetachable? it is so the contract is > explicit. > > -igor > > > > On 12/8/06, Johan Compagner <[EMAIL PROTECTED]> wrote: > > the question is is this really necessary because we have already code that > does the detach: > > > > "Note that if the IDataProvider implementation implements [EMAIL PROTECTED] > IDetachable} > > * interface, the [EMAIL PROTECTED] IDetachable#detach()} method will be > > called at > the end > > * of request." > > > > So if somebody makes a IDataProvider class if he wants to be detachable > then > > just implement IDetachable and you can detach the stuff you load. > > > > So would it be handy that all IDataprovider implementations are detachable > > or let it be a choice? > > > > johan > > > > > > > > > > On 12/8/06, Igor Vaynberg < [EMAIL PROTECTED]> wrote: > > > > > > > > > On 12/8/06, Johan Compagner <[EMAIL PROTECTED]> wrote: > > > > > > > > shouldn't we extend from IDetachable in 1.3? > > > > > > > > > i dont see a problem with that > > > > > > -igor > > > > > > > > > > > > > > > > johan > > > > > > > > > > > > > > > > > > > > On 12/7/06, Igor Vaynberg < [EMAIL PROTECTED] > wrote: > > > > > i guess if you are certain the size never changes this works ok > > > > > > > > > > -igor > > > > > > > > > > > > > > > > > > > > > > > > > On 12/7/06, Manuel Barzi < [EMAIL PROTECTED] > wrote: > > > > > > Well, I just do two queries the first time... retrieving total > count > > > > > > on size() call (just once), and then retrieve iteration on > > > > > > iterator(...) call (every navigation event)... so, in steady-state > is > > > > > > only one call... > > > > > > > > > > > > On 12/5/06, Igor Vaynberg < [EMAIL PROTECTED]> wrote: > > > > > > > well in the example i gave you there should only be one query to > the > > > > > > > database > > > > > > > > > > > > > > -igor > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 12/5/06, Manuel Barzi < [EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > Yes, I have already followed your sample, doing two queries to > database... > > > > > > > ;) > > > > > > > > > > > > > > > > On 12/5/06, Igor Vaynberg < [EMAIL PROTECTED]> wrote: > > > > > > > > > no its not possible there is logic that ties the return call > of size() > > > > > > > to a > > > > > > > > > few things that need to happen before the call to iterator() > > > > > > > > > > > > > > > > > > all it takes is your own subclass that i have shown you, i > dont think > > > > > > > its a > > > > > > > > > big deal. > > > > > > > > > > > > > > > > > > -igor > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 12/5/06, Manuel Barzi < [EMAIL PROTECTED] > wrote: > > > > > > > > > > > > > > > > > > > > My question is, nevertheless, would it be a significant > implementation > > > > > > > > > > change to swap calls order from to current to > iterator(...) first and > > > > > > > > > > size() later? then adding support for both cases in a > > > > > > > > > > SortableDataProvider (Case 1: Big databases - 2 Calls, > Case 2: Small > > > > > > > > > > databases - 1 Call)... > > > > > > > > > > > > > > > > > > > > >From my point of view, if supporting both cases, just by > swapping > > > > > > > > > > those method calls (if so easy is it...), then it would be > great, no > > > > > > > > > > worries to look for another impl... all-in-one... > > > > > > > > > > > > > > > > > > > > Just wondering... ;) > > > > > > > > > > > > > > > > > > > > Thank you for all your answers... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > > > > > > > Join SourceForge.net 's Techsay panel and you'll get the > chance to > > > > > > > share > > > > > > > > > your > > > > > > > > > > opinions on IT & business topics through brief surveys - > and earn cash > > > > > > > > > > > > > > > > > > > > > > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > > > > > > > _______________________________________________ > > > > > > > > > > Wicket-user mailing list > > > > > > > > > > Wicket-user@lists.sourceforge.net > > > > > > > > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > > > > > > Join SourceForge.net's Techsay panel and you'll get the > chance to share > > > > > > > your > > > > > > > > > opinions on IT & business topics through brief surveys - and > earn cash > > > > > > > > > > > > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > Wicket-user mailing list > > > > > > > > > Wicket-user@lists.sourceforge.net > > > > > > > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > > > > > Join SourceForge.net's Techsay panel and you'll get the chance > to share > > > > > > > your > > > > > > > > opinions on IT & business topics through brief surveys - and > earn cash > > > > > > > > > > > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > > > > > _______________________________________________ > > > > > > > > Wicket-user mailing list > > > > > > > > Wicket-user@lists.sourceforge.net > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > > > > Join SourceForge.net's Techsay panel and you'll get the chance > to share your > > > > > > > opinions on IT & business topics through brief surveys - and > earn cash > > > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > > > > > > > > > > _______________________________________________ > > > > > > > Wicket-user mailing list > > > > > > > Wicket-user@lists.sourceforge.net > > > > > > > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > > > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > > > > > > opinions on IT & business topics through brief surveys - and earn > cash > > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > > _______________________________________________ > > > > > > Wicket-user mailing list > > > > > > Wicket-user@lists.sourceforge.net > > > > > > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > > > > > opinions on IT & business topics through brief surveys - and earn > cash > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > > > > > > _______________________________________________ > > > > > Wicket-user mailing list > > > > > Wicket-user@lists.sourceforge.net > > > > > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > > > > opinions on IT & business topics through brief surveys - and earn cash > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > > > > _______________________________________________ > > > > Wicket-user mailing list > > > > Wicket-user@lists.sourceforge.net > > > > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > Take Surveys. Earn Cash. Influence the Future of IT > > > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > > > opinions on IT & business topics through brief surveys - and earn cash > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > > _______________________________________________ > > > Wicket-user mailing list > > > Wicket-user@lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > > opinions on IT & business topics through brief surveys - and earn cash > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > _______________________________________________ > > Wicket-user mailing list > > Wicket-user@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > Wicket-user mailing list > Wicket-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > -- <a href="http://www.thebeststuffintheworld.com/vote_for/wicket">Vote</a> for <a href="http://www.thebeststuffintheworld.com/stuff/wicket">Wicket</a> at the <a href="http://www.thebeststuffintheworld.com/">Best Stuff in the World!</a> ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user