+ /*\r
+ // this PathIterator is based on HashSet, an thread implementation is required.\r
+ private final class PathIterator implements ForDoAll{\r
+ PathIterator(String path) throws Exception {\r
+ startpath = path;\r
+ Common.toDoAll(startpath, this, mode);\r
+ }\r
+ PathIterator(String path, int md) throws Exception {\r
+ startpath = path;\r
+ mode = md;\r
+ Common.toDoAll(startpath, this, mode);\r
+ }\r
+ private String startpath;\r
+ private int mode = Common.BOTH;\r
+ private HashSet<String> pathlist = new HashSet<String>();\r
+ private Iterator<String> it = pathlist.iterator();\r
+ \r
+ public final void toDo(String path) throws Exception {\r
+ pathlist.add(path);\r
+ }\r
+ \r
+ public final String next() {\r
+ return it.next();\r
+ }\r
+ \r
+ public final boolean hasNext() {\r
+ return it.hasNext();\r
+ }\r
+ \r
+ public final String toString() {\r
+ return pathlist.toString();\r
+ }\r
+ }\r
+ \r
+ public final PathIterator getPathIterator(String path, int md) throws Exception {\r
+ return new PathIterator(path, md);\r
+ }\r
+ */\r