On Fri, 12 Aug 2005 11:40:02 -0700, Igor Vaynberg <[EMAIL PROTECTED]>
wrote:
-----Original Message-----
The optmized-item-removal in the context of the dataview is not really an
optimization. It is a way for you to keep state in your dataitems and all
attached items across requests. So for example you can set a row to be
highlited (store the highlight flag in the dataitem), and that will last
across requests, if we do a removeall() every time than that wont be
possible w/out some outside model keeping track of highlited rows.
Thanks for the explanation and I realy did not want to start this over
again however: wouldn't it also be good for plain IDataProviders? Just one
answer I'll stop immideately.
I was thinking of a helper:
class EqualsModel extends Model{
private Serializable uniqueKey;
EqualsModel(Serializable object, Serializable uniqueKey){
super(object;
uniqueKey = uniqueKey;
}
boolean equals(Object ob){
if(uniqueKey == null) return super.equals(ob);
if(ob instanceof EqualsModel)
return uniqueKey.equals(((EqualsModel)ob).uniqueKey);
return false;
}
int hashCode(){
return uniqueKey == null ? super.hashCode() : uniqueKey.hashCode();
}
}
//IDataProvider
IModel model(Object ob){
return new EqualsModel(ob,((MyBean)ob).getId());
}
BTW, something just hit me, since we removed primarykey() from
idataprovider
we can now do this:
public class ListAdapter implements IDataProvider
{
private List list;
public ListAdapter(List list) {
this.list=list;
}
public Iterator iterator(int first, int count)
{
return list.listIterator(first);
}
public int size()
{
return list.size();
}
public IModel model(Object object)
{
return new Model((Serializable)object);
}
}
That's very good maybe we could also do it for a Collection?
public Iterator iterator(int first, int count){
Iterator ret = collection.iterator();
for(int i=0;i<first;i++){
if(ret.hasNext()) ret.next();
}
return ret;
}
___________________________________________________________
Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de
-------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user