1 13 19 package org.pentaho.repository.filebased.solution; 20 21 import java.util.*; 22 import org.dom4j.*; 23 import org.pentaho.util.logging.ILogger; 24 25 31 public class FileIterator implements Iterator { 32 33 private List nodeList; 34 35 private Iterator nodeIterator; 36 37 private ILogger logger; 38 39 public FileIterator(List nodeList, ILogger logger) { 40 this.nodeList = nodeList; 41 this.logger = logger; 42 if (nodeList == null) { 43 nodeIterator = null; 44 } else { 45 nodeIterator = nodeList.iterator(); 46 } 47 } 48 49 public boolean hasNext() { 50 if (nodeIterator != null) { 51 return nodeIterator.hasNext(); 52 } 53 return false; 54 } 55 56 public Object next() { 57 if (nodeIterator != null) { 58 Element node = (Element) nodeIterator.next(); 59 FileInfo fileInfo = new FileInfo(node, logger); 60 return fileInfo; 61 } 62 return null; 63 } 64 65 public FileInfo nextFile() { 66 if (nodeIterator != null) { 67 Element node = (Element) nodeIterator.next(); 68 FileInfo fileInfo = new FileInfo(node, logger); 69 return fileInfo; 70 } 71 return null; 72 73 } 74 75 public void remove() { 76 if (nodeIterator != null) { 77 nodeIterator.remove(); 78 } 79 } 80 81 public int size() { 82 if (nodeList != null) { 83 return nodeList.size(); 84 } 85 return 0; 86 } 87 } 88 | Popular Tags |