package com.jbidwatcher.util.queue; /** * Created by IntelliJ IDEA. * User: mrs * Date: Feb 4, 2008 * Time: 1:00:19 AM * * A queue of events to be placed on other queues, at timed intervals or immediately. * * The backbone of the message/event based architecture of JBidwatcher. */ public class SuperQueue { private TimeQueueManager mTQM = new TimeQueueManager(); private static SuperQueue mInstance = null; public static SuperQueue getInstance() { if(mInstance == null) mInstance = new SuperQueue(); return mInstance; } public TimeQueueManager getQueue() { return mTQM; } public void preQueue(Object payload, String queueName, long when) { mTQM.add(payload, queueName, when); } public void preQueue(Object payload, String queueName, long when, long repeat) { mTQM.add(payload, queueName, when, repeat); } public void remove(Object payload) { mTQM.erase(payload); } public TimerHandler start() { TimerHandler timeQueue = new TimerHandler(mTQM); timeQueue.setName("SuperQueue"); timeQueue.start(); return timeQueue; } }