1 /* 2 * This file is part of Domingo 3 * an Open Source Java-API to Lotus Notes/Domino 4 * hosted at http://domingo.sourceforge.net 5 * 6 * Copyright (c) 2003-2007 Beck et al. projects GmbH Munich, Germany (http://www.bea.de) 7 * 8 * This library is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU Lesser General Public 10 * License as published by the Free Software Foundation; either 11 * version 2.1 of the License, or (at your option) any later version. 12 * 13 * This library is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * Lesser General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public 19 * License along with this library; if not, write to the Free Software 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 */ 22 23 package de.bea.domingo.queue; 24 25 /*** 26 * Interface definition of a general Queue. 27 * 28 * @author <a href="mailto:kriede@users.sourceforge.net">Kurt Riede</a> 29 */ 30 public interface Queue { 31 32 /*** 33 * Returns the number of objects in the queue. 34 * 35 * @return number of objects in the queue 36 */ 37 int size(); 38 39 /*** 40 * Checks is the queue is empty or not. 41 * 42 * @return <code>true</code> if the queue is empty, else <code>false</code> 43 */ 44 boolean isEmpty(); 45 46 /*** 47 * Enqueues an object to the queue. 48 * 49 * @param obj the object to enqueue 50 */ 51 void enqueue(Object obj); 52 53 /*** 54 * Dequeues an object from the queue. 55 * 56 * @return next object from the queue 57 * or <code>null</code> if the queue is empty 58 */ 59 Object dequeue(); 60 }