1 17 package org.columba.mail.folder; 18 19 import java.util.ArrayList ; 20 import java.util.Enumeration ; 21 import java.util.Iterator ; 22 import java.util.List ; 23 24 import javax.swing.tree.TreeNode ; 25 26 27 32 public class FolderChildrenIterator { 33 private List folderList; 34 Iterator folderIterator; 35 36 public FolderChildrenIterator(IMailFolder parent) { 37 folderList = new ArrayList (); 38 Enumeration childEnum = parent.children(); 39 while( childEnum.hasMoreElements() ) { 40 appendAllChildren(folderList, (TreeNode )childEnum.nextElement()); 41 } 42 43 folderIterator = folderList.iterator(); 44 } 45 46 private void appendAllChildren(List folderList, TreeNode folder) { 47 folderList.add(folder); 48 if( folder.getChildCount() > 0) { 49 Enumeration childEnum = folder.children(); 50 while( childEnum.hasMoreElements() ) { 51 appendAllChildren(folderList, (TreeNode ) childEnum.nextElement()); 52 } 53 } 54 } 55 56 public boolean hasMoreChildren() { 57 return folderIterator.hasNext(); 58 } 59 60 public AbstractFolder nextChild() { 61 return (AbstractFolder) folderIterator.next(); 62 } 63 64 } 65 | Popular Tags |