OOP-Projects-Java

Log | Files | Refs | README

CoffeeQueue.java (1241B)


      1 package breakRoom;
      2 
      3 import java.util.concurrent.ConcurrentLinkedQueue;
      4 
      5 public class CoffeeQueue {
      6 	private ConcurrentLinkedQueue<Worker> coffeeQueue;
      7 
      8 	/**
      9 	 * Constructor, creates a new coffeeQueue where workers can queue to get their
     10 	 * fill of coffee.
     11 	 */
     12 	public CoffeeQueue() {
     13 		coffeeQueue = new ConcurrentLinkedQueue<Worker>();
     14 	}
     15 
     16 	/**
     17 	 * Add worker to queue.
     18 	 * 
     19 	 * @param w The worker to add.
     20 	 */
     21 	public void enQueue(Worker w) {
     22 		coffeeQueue.add(w);
     23 	}
     24 
     25 	/**
     26 	 * Removes worker from the queue.
     27 	 * 
     28 	 * @return returns the removed worker.
     29 	 */
     30 	public Worker deQueue() {
     31 		return coffeeQueue.remove();
     32 	}
     33 
     34 	/**
     35 	 * Remove specific worker from coffeeQueue.
     36 	 * 
     37 	 * @param w the worker to remove.
     38 	 */
     39 	public void deQueue(Worker w) {
     40 		coffeeQueue.remove(w);
     41 	}
     42 
     43 	/**
     44 	 * get the ammount of workers currently queuing for coffee.
     45 	 * 
     46 	 * @return size of coffeeQueue.
     47 	 */
     48 	public int getSize() {
     49 		return coffeeQueue.size();
     50 	}
     51 
     52 	/**
     53 	 * Used to determine if worker exists in queue.
     54 	 * 
     55 	 * @param w the worker whose presence we are observing.
     56 	 * @return true if the specified worker exists, else false.
     57 	 */
     58 	public boolean inQueue(Worker w) {
     59 		if (coffeeQueue.contains(w)) {
     60 			return true;
     61 		}
     62 		return false;
     63 	}
     64 }