001: /*
002: * PageList.java - List of page for the help topic
003: * Copyright (C) 2003 Alexandre THOMAS
004: * alexthomas@free.fr
005: * http://helpgui.sourceforge.net
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License
009: * as published by the Free Software Foundation; either version 2
010: * of the License, or any later version.
011: *
012: * This program is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
015: * GNU General Public License for more details.
016: *
017: * You should have received a copy of the GNU General Public License
018: * along with this program; if not, write to the Free Software
019: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
020: */
021:
022: package salomeTMF_plug.helpgui.page;
023:
024: import java.util.ArrayList;
025: import java.util.Iterator;
026:
027: /**
028: * List of page for the help topic
029: *
030: * @author Alexandre THOMAS
031: */
032: public class PageList {
033:
034: ArrayList pages = null;
035:
036: ////////////////////////////////////////////////////////////////////
037:
038: /** Constructor. */
039: public PageList() {
040: pages = new ArrayList();
041: }
042:
043: /** Add a new page on the list. */
044: public void add(Page page) {
045: pages.add(page);
046: }
047:
048: /** Return a page by its index. */
049: public Page get(int pageIndex) throws IndexOutOfBoundsException {
050: if ((pageIndex < 0) || (pages.size() <= pageIndex))
051: return null;
052: return (Page) pages.get(pageIndex);
053: }
054:
055: /** Returns the index of the specified task. */
056: public int getIndex(Page page) {
057: return pages.indexOf(page);
058: }
059:
060: /** Returns a list iterator on this list. */
061: public Iterator iterator() {
062: return pages.listIterator();
063: }
064:
065: /** Returns the index of the specified page. */
066: public int indexOf(Page page) {
067: return pages.indexOf(page);
068: }
069:
070: /** Tells if the list is empty or not. */
071: public boolean isEmpty() {
072: return pages.isEmpty();
073: }
074:
075: /** Removes the specified page form the list. */
076: public void remove(int pageIndex) {
077: pages.remove(pageIndex);
078: }
079:
080: /** Removes the specified page form the list. */
081: public void remove(Page page) {
082: pages.remove(page);
083: }
084:
085: /** Returns the number of pages in this list. */
086: public int size() {
087: return pages.size();
088: }
089:
090: /** Removes all the pages from this list. */
091: public void clear() {
092: pages.clear();
093: }
094:
095: /** Tells if a page is or not in this list. */
096: public boolean isInList(Page page) {
097: if (pages.indexOf(page) >= 0)
098: return true;
099: return false;
100: }
101:
102: /** Returns a string that describes current instance content. */
103: public String toString() {
104: StringBuffer strRet = new StringBuffer("[");
105: for (Iterator iterator = pages.iterator(); iterator.hasNext();) {
106: Page page = (Page) iterator.next();
107: strRet.append("(" + page.getText() + " " + page.getTarget()
108: + "), ");
109: }
110: strRet.append("]");
111: return strRet.toString();
112: }
113:
114: }
|