Correct me if I am wrong, but I don't think you need a ListIterator for this - 
I think you just want an iterator that supports remove(). Is that right?

On Jun 15, 2011, at 3:30 PM, Edvin Syse wrote:

> When I delete a domain object in my app, I check a tab pane to see if it 
> contains any tabs that edits the deleted object and close them. I find myself 
> writing code like this (Page is the domain object in this example):
> 
> // Delete the page from RDBMS
> deletePage(page);
> 
> // Put tabs to remove in another list to avoid ConcurrentModificationException
> List<Component> remove = new ArrayList<Component>();
> 
> // Search for tabs to remove
> for (Component tab : tabs.getTabs()) {
>    if (tab instanceof DomainObjectHolder) {
>        DomainObjectHolder holder = (DomainObjectHolder) tab;
>        if (page.equals(holder.getDomainObject()))
>            remove.add(tab);
>    }
> }
> 
> // Remove the tabs
> for (Component tab : remove)
>    tabs.getTabs().remove(tab);
> 
> If tabs.getTabs() could give me a ListIterator, this would be a lot smoother, 
> by maybe there is another Pivot way of doing this?
> 
> -- Edvin
> 

Reply via email to