package com.framsticks.util.dispatching; import com.framsticks.util.StateFunctor; /** * @author Piotr Sniegowski */ public abstract class Dispatching { public static boolean isThreadSafe() { return true; } public static void invokeLaterOrNow(Dispatcher dispatcher, RunAt runnable) { if (dispatcher.isActive()) { runnable.run(); return; } dispatcher.invokeLater(runnable); } //TODO RunAt StateFunctor public static void dispatchOk(Dispatcher dispatcher, final StateFunctor stateFunctor) { dispatcher.invokeLater(new RunAt() { @Override public void run() { stateFunctor.call(null); } }); } // public static boolean assertInvokeLater(Dispatcher dispatcher, RunAt runnable) { // dispatcher.invokeLater(runnable); // return true; // } public static void invokeDispatch(Dispatcher

dispatcher, final Dispatcher finalDispatcher, final RunAt runnable) { dispatcher.invokeLater(new RunAt

() { @Override public void run() { finalDispatcher.invokeLater(runnable); } }); } }