> -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of > Jonathan Locke > Sent: Wednesday, August 10, 2005 2:01 PM > To: wicket-user@lists.sourceforge.net > Subject: Re: [Wicket-user] DataView: IDataProvider.primaryKey() vote > > > i guess i don't precisely understand what you're doing.
Check out DataView.onInternalBeginRequest(). Basically each DataItem needs to have a unique id as a child of the dataview, currently this id comes from IDataProvider.primaryKey() - this is an easy way to facilitate optimized item removal - in the listview the id was the index. > > i also don't quite understand the choice of the word "Data" here... > isn't this really a TableView > or GridView more than a DataView? and if you keep the > details of sorting and key/identity on the other side of the > interface, it would work with things other than database objects... The sorting is already on the other side. There are optional interfaces/classes that facilitate this. The "Data" word was the common denominator - why "List"View? Your are generating tables and grids with that also. DataView is meant to be a generic loop over data and it does work with things other then databases - all you need is an iterator. > > btw, why does model() exist? couldn't iterator just produce > a bunch of IModels? this seems nice to me... > > public interface TableView.IRange > { > Iterator<IModel> iterator(int first, int count); > int size(); > boolean isSame(IModel a, IModel b) > } > > how the thing produces IModels and how it determines equality > are up to the user. > this component could be used to replace listview > functionality as well as working with databases... no? Having model(Object o) is more convinient then having to wrap the iterator you get from your datasource with a decorator. isSame(imodel a, imodel b) makes it difficult to efficiently check for existence since you have to loop over each element as opposed to doing a map or a set lookup once you have the pk. -Igor ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user