// Job: Jay's Own Browser, a web browser written in Java by Jay Skeer // Copyright (C) 1996 Jay Skeer, Jay Prime Positive // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // import EmptyListException; public class HeaderOneWayLinkedList { OneWayLinkedList first= null; OneWayLinkedList last= null; int size= 0; public HeaderOneWayLinkedList() { first= null; last= null; size= 0; } public Object firstItem() throws EmptyListException { if (size <= 0) { throw new EmptyListException(); } else { OneWayLinkedList ll= peekBeg(); if (null == ll) { throw new EmptyListException(); } else { return ll.peekBeg(); } } } public OneWayLinkedList peekBeg() { return first; } public OneWayLinkedList peekEnd() { return last; } public int size() { return size; } public void addBeg(OneWayLinkedList item) { if (null == last) { last= item; } if (null != first) { first.addBeg(item); } first= item; size= size + 1; } public void addEnd(OneWayLinkedList item) { if (null == last) { first= item; } else { last.addBeg(item); } last= item; size= size + 1; } public void removeBeg() throws EmptyListException { if (null == first) { throw new EmptyListException(); } else { OneWayLinkedList oe= first; first= oe.next; oe.next= null; } if (null == first) { last= null; } size= size - 1; } }