ArrayCollectionReader.java :  » Natural-Language-Processing » Dragon-Toolkit » dragon » onlinedb » Java Open Source

Java Open Source » Natural Language Processing » Dragon Toolkit 
Dragon Toolkit » dragon » onlinedb » ArrayCollectionReader.java
package dragon.onlinedb;

import dragon.util.SortedArray;
import java.util.ArrayList;

/**
 * <p>Collection reader for reading multiple collection </p>
 * <p> </p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: IST, Drexel University</p>
 * @author Davis Zhou
 * @version 1.0
 */

public class ArrayCollectionReader implements CollectionReader{
    private SortedArray sortlist;
    private ArrayList list;
    private int curPos;

    public ArrayCollectionReader() {
        list=new ArrayList();
        sortlist=new SortedArray();
        curPos=0;
    }

    public ArticleParser getArticleParser(){
        return null;
    }

    public void setArticleParser(ArticleParser parser){
    }

    public int size(){
      return list.size();
    }
    
    public void close(){
        list.clear();
        sortlist.clear();
        curPos=0;
    }

    public Article getNextArticle(){
        if(curPos<list.size())
            return (Article)list.get(curPos++);
        else
            return null;
    }

    public Article getArticleByKey(String key){
        BasicArticle article;

        article=new BasicArticle();
        article.setKey(key);
        if(sortlist.binarySearch(article)<0)
            return null;
        else
            return (Article)sortlist.get(sortlist.insertedPos());
    }

    public boolean addArticle(Article article){
        if(!sortlist.add(article))
            return false;
        else{
            list.add(article);
            return true;
        }
    }

    public boolean supportArticleKeyRetrieval(){
        return true;
    }

    public void restart(){
        curPos = 0;
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.