1 25 package org.nemesis.forum.search; 26 27 import java.util.Iterator ; 28 import java.util.NoSuchElementException ; 29 30 import org.apache.commons.logging.Log; 31 import org.apache.commons.logging.LogFactory; 32 import org.nemesis.forum.Forum; 33 import org.nemesis.forum.Message; 34 35 38 public class QueryIterator implements Iterator { 39 40 static protected Log log = LogFactory.getLog(QueryIterator.class); 41 private int[] messages; 43 private int currentIndex = -1; 45 46 private int maxIndex; 47 private Forum forum; 48 49 50 57 public QueryIterator(Forum forum,int[] messages) { 58 this.messages = messages; 59 this.forum=forum; 60 maxIndex = messages.length; 61 } 62 63 76 public QueryIterator(Forum forum,int[] messages, int startIndex, int numResults) { 77 this.messages = messages; 78 this.forum=forum; 79 currentIndex = startIndex - 1; 80 maxIndex = startIndex + numResults; 81 } 82 83 86 public boolean hasNext() { 87 return (currentIndex + 1 < messages.length && currentIndex + 1 < maxIndex); 88 } 89 90 93 public Object next() throws NoSuchElementException { 94 Message message = null; 95 currentIndex++; 96 if (currentIndex >= messages.length) { 97 throw new NoSuchElementException (); 98 } 99 try { 100 int messageID = messages[currentIndex]; 101 message = forum.getMessage(messageID); 102 message = message.getForumThread().getMessage(messageID); 106 } catch (Exception e) { 107 log.error("", e); 108 } 109 return message; 110 } 111 112 115 public void remove() { 116 throw new UnsupportedOperationException (); 117 } 118 } 119 | Popular Tags |