コード例 #1
0
 public boolean hasNext() {
   try {
     if (folderIter == null) {
       folderIter = new FolderIterator(mailbox);
     }
     // get next message from the folder
     // if folder is exhausted get next folder
     // loop till a valid mail or all folders exhausted.
     while (msgIter == null || !msgIter.hasNext()) {
       Folder next = folderIter.hasNext() ? folderIter.next() : null;
       if (next == null) {
         return false;
       }
       msgIter = new MessageIterator(next, batchSize);
     }
   } catch (EmailFetchException e) {
     LOG.error("Fetching email failed", e);
     return false;
   }
   return true;
 }
コード例 #2
0
  public boolean jumpToFolder(String folderName) {
    FolderIterator newFolderIter = null;
    MessageIterator newMsgIter = null;
    try {
      newFolderIter = new FolderIterator(mailbox);

      while (newFolderIter.hasNext()) {
        Folder next = newFolderIter.next();
        if (folderName.equals(next.getFullName())) {
          newMsgIter = new MessageIterator(next, batchSize);
          folderIter = newFolderIter;
          msgIter = newMsgIter;
          return true;
        }
      }

      return false;
    } catch (EmailFetchException e) {
      LOG.error("Fetching email failed", e);
      return false;
    }
  }