⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 documentsmru.java

📁 It is all about project scheduling. GanttProject is a tool for creating a project schedule by means
💻 JAVA
字号:
/* * Created on 29.09.2003 * */package net.sourceforge.ganttproject.document;import java.util.ArrayList;import java.util.Iterator;import java.util.List;/** * List of Documents MRU (<b>m</b>ost <b>r</b>ecently <b>u</b>sed) *  * @author Michael Haeusler (michael at akatose.de) */public class DocumentsMRU {    private int maxSize;    private List documents;    public DocumentsMRU(int maxSize) {        if (maxSize <= 0)            throw new IllegalArgumentException(                    "maxSize must be larger than zero (" + maxSize + ")");        this.maxSize = maxSize;        documents = new ArrayList(maxSize);    }    /**     * Adds a Document at the top of the list of Documents MRU. If the list is     * already full, an old entry is removed, to make place for this new     * document.     *      * @param document     *            the Document that should be added     * @return wether the list has changed through the addition     */    public boolean add(Document document) {        // if the document is invalid, we don't add it        if (!document.isValidForMRU())            return false;        int i = documents.indexOf(document);        // if the document is already on the top,        // nothing needs to change.        if (0 == i)            return false;        if (0 < i) {            documents.remove(i);        } else {            while (documents.size() >= maxSize)                documents.remove(maxSize - 1);        }        documents.add(0, document);        return true;    }    /**     * Appends a Document to the list of Documents MRU. If the list is already     * full, the document will <b>not</b> be appended.     *      * @param document     *            the Document that should be added     * @return wether the list has changed through the addition     */    public boolean append(Document document) {        // if the document is invalid, we don't add it        if (!document.isValidForMRU())            return false;        int i = documents.indexOf(document);        // if the document is already at the bottom,        // nothing needs to change.        if (i == maxSize - 1)            return false;        if (i != -1) {            documents.remove(i);        }        if (documents.size() < maxSize) {            documents.add(document);            return true;        } else {            return false;        }    }    /**     * clears the list of Documents MRU     */    public void clear() {        documents.clear();    }    /**     * returns an Iterator over the entries of the list of Documents MRU     */    public Iterator iterator() {        return documents.iterator();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -