package org.madore.damlengine; import java.util.Collection; import java.util.LinkedList; public final class TodoDeque { // FIXME: having everything static is ugly as hell... maybe this // should be instantiatable? private TodoDeque() { } // Forbid instantiation private static LinkedList todoDeque = new LinkedList(); { todoDeque = new LinkedList(); } public static void registerAtEnd(TodoItem it) { todoDeque.addLast(it); } public static void registerAtEnd(Collection them) { todoDeque.addAll(them); } public static void registerAtStart(TodoItem it) { todoDeque.addFirst(it); } public static void registerAtStart(Collection them) { todoDeque.addAll(0, them); } public static TodoItem removeNext() { return todoDeque.poll(); } public static boolean dispatchOne() { TodoItem it = removeNext(); if ( it != null ) { it.dispatch(); return true; } else return false; } public static void dispatchLoop() { while ( dispatchOne() ) ; } }