`AbstractThreadingHandler.java`
`01 /* 02 * Copyright 2010-2012 the original author or authors. 03 * 04 * Licensed under the Apache License, Version 2.0 (the "License"); 05 * you may not use this file except in compliance with the License. 06 * You may obtain a copy of the License at 07 * 08 * http://www.apache.org/licenses/LICENSE-2.0 09 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package org.codehaus.griffon.runtime.core; 18 19 import griffon.core.ThreadingHandler; 20 import griffon.core.UIThreadManager; 21 import groovy.lang.Closure; 22 23 import java.util.concurrent.Callable; 24 import java.util.concurrent.ExecutorService; 25 import java.util.concurrent.Future; 26 27 /** 28 * Base implementation of the ThreadingHandler interface. 29 * 30 * @author Andres Almiray 31 * @since 0.9.3 32 */ 33 public abstract class AbstractThreadingHandler implements ThreadingHandler { 34 public boolean isUIThread() { 35 return UIThreadManager.getInstance().isUIThread(); 36 } 37 38 // TODO @deprecated - remove before 1.0 39 public void execAsync(Runnable runnable) { 40 execInsideUIAsync(runnable); 41 } 42 43 public void execInsideUIAsync(Runnable runnable) { 44 UIThreadManager.getInstance().executeAsync(runnable); 45 } 46 47 // TODO @deprecated - remove before 1.0 48 public void execSync(Runnable runnable) { 49 execInsideUISync(runnable); 50 } 51 52 public void execInsideUISync(Runnable runnable) { 53 UIThreadManager.getInstance().executeSync(runnable); 54 } 55 56 // TODO @deprecated - remove before 1.0 57 public void execOutside(Runnable runnable) { 58 execOutsideUI(runnable); 59 } 60 61 public void execOutsideUI(Runnable runnable) { 62 UIThreadManager.getInstance().executeOutside(runnable); 63 } 64 65 public Future execFuture(ExecutorService executorService, Closure closure) { 66 return UIThreadManager.getInstance().executeFuture(executorService, closure); 67 } 68 69 public Future execFuture(Closure closure) { 70 return UIThreadManager.getInstance().executeFuture(closure); 71 } 72 73 public Future execFuture(ExecutorService executorService, Callable callable) { 74 return UIThreadManager.getInstance().executeFuture(executorService, callable); 75 } 76 77 public Future execFuture(Callable callable) { 78 return UIThreadManager.getInstance().executeFuture(callable); 79 } 80 }`