/* -------------------------------------------------------- * * Aaron Morris * * CS522 * * Object-Oriented Event-Driven Simulation * * * * Class representing Request List. Queue of requests. * * Events are added in sorted order * * -------------------------------------------------------- */ //package datasend; import java.awt.*; public class MessageQueue { protected Message messageList; // Start of Event List protected Message tail; // End of list protected int numQueued; // Number of Items in List /* Basic Object Constructor, creating Queue to store requests */ public MessageQueue() { this.messageList = null; this.tail = null; this.numQueued = 0; } // Method to return number of Queued objects public int getNumQueued() { return this.numQueued; } // Method to remove and return first request in Queue public Message deQueue() { Message temp; temp = messageList; // If there are queued members if (numQueued > 0) { messageList = messageList.getNext(); if (messageList == null) tail = null; temp.setNext(null); numQueued--; } else { System.out.println("Tried to DeQueue when Q Empty"); } return temp; } // Method to add a Message to the list public void enQueue(Message ev) { Message temp,temp2; // If will be first request in list if (numQueued == 0) { messageList = ev; tail = ev; } // If adding at end else { tail.setNext(ev); tail = ev; } numQueued++; } // For Testing purposes, print out current requestList public void PrintQueue() { Message temp = messageList; System.out.print("messageList[" + numQueued + "]: "); while (temp != null) { System.out.print(" "); System.out.print(temp.getStringRep()); temp = temp.getNext(); } System.out.println (" END OF LIST"); } }