source: java/main/src/main/java/com/framsticks/util/Dispatching.java @ 77

Last change on this file since 77 was 77, checked in by psniegowski, 11 years ago

Add new java codebase.

File size: 1.1 KB
Line 
1package com.framsticks.util;
2
3/**
4 * @author Piotr Sniegowski
5 */
6public abstract class Dispatching {
7
8    public static boolean isThreadSafe() {
9        return true;
10    }
11
12    public static void invokeLaterOrNow(Dispatcher dispatcher, Runnable runnable) {
13        if (dispatcher.isActive()) {
14            runnable.run();
15            return;
16        }
17        dispatcher.invokeLater(runnable);
18    }
19
20    public static void dispatchOk(Dispatcher dispatcher, final StateFunctor stateFunctor) {
21        dispatcher.invokeLater(new Runnable() {
22            @Override
23            public void run() {
24                stateFunctor.call(null);
25            }
26        });
27    }
28
29    public static boolean assertInvokeLater(Dispatcher dispatcher, Runnable runnable) {
30        dispatcher.invokeLater(runnable);
31        return true;
32    }
33
34    public static void invokeDispatch(Dispatcher dispatcher, final Dispatcher finalDispatcher, final Runnable runnable) {
35        dispatcher.invokeLater(new Runnable() {
36            @Override
37            public void run() {
38                finalDispatcher.invokeLater(runnable);
39            }
40        });
41    }
42
43}
Note: See TracBrowser for help on using the repository browser.