001 package edu.jhu.mb.ernst.engine.queue; 002 003 import java.util.Comparator; 004 import java.util.PriorityQueue; 005 006 import edu.jhu.mb.ernst.engine.DiscreteEvent; 007 import edu.jhu.mb.ernst.engine.DiscreteEventQueue; 008 009 /*********************************************************************** 010 * Static method library to manipulate DiscreteEventQueue instances. 011 * 012 * @version 013 * $Date: 2012-04-15 13:06:25 -0500 (Sun, 15 Apr 2012) $ 014 * $Rev: 7 $ 015 * $Author: croft $ 016 * @since 017 * 2012-02-19 018 * @author 019 * David Wallace Croft 020 ***********************************************************************/ 021 public final class DiscreteEventQueueLib 022 //////////////////////////////////////////////////////////////////////// 023 //////////////////////////////////////////////////////////////////////// 024 { 025 026 public static void process ( 027 final DiscreteEventQueue discreteEventQueue ) 028 //////////////////////////////////////////////////////////////////////// 029 { 030 final DiscreteEvent discreteEvent = discreteEventQueue.poll ( ); 031 032 if ( discreteEvent == null ) 033 { 034 return; 035 } 036 037 final boolean reinsert = discreteEvent.process ( ); 038 039 if ( reinsert ) 040 { 041 discreteEventQueue.offer ( discreteEvent ); 042 } 043 } 044 045 //////////////////////////////////////////////////////////////////////// 046 //////////////////////////////////////////////////////////////////////// 047 048 private DiscreteEventQueueLib ( ) 049 //////////////////////////////////////////////////////////////////////// 050 { 051 // private constructor 052 } 053 054 //////////////////////////////////////////////////////////////////////// 055 //////////////////////////////////////////////////////////////////////// 056 }