public class Spin extends Object
Spin offers a transparent threading solution for developing non-freezing Swing applications.
Let bean
be a reference to a non-visual (possibly
multithreaded) bean implementing the interface Bean
whose
methods have to be called by a Swing component. You can avoid any freezing by
using one line of code:
bean = (Bean) Spin.off(bean);Now each method call on
bean
is executed on a separate thread,
while the EDT is continuing to dispatch events. All return values or
exceptions are handled by Spin and transparently returned to the
calling method.
For calls from other threads than the EDT to your Swing component you can use
the following (being
bean.addXYListener((XYListener)Spin.over(component);
Now all required updates to your component (and/or its model) are
transparently excuted on the EDT.
off(Object)
,
over(Object)
,
ProxyFactory
,
SpinOffEvaluator
,
SpinOverEvaluator
Constructor and Description |
---|
Spin(Object object,
Evaluator evaluator)
Create a Spin wrapper for the given object.
|
Spin(Object object,
ProxyFactory proxyFactory,
Evaluator evaluator)
Create a Spin wrapper for the given object.
|
Modifier and Type | Method and Description |
---|---|
static Evaluator |
getDefaultOffEvaluator()
Get the default evaluator for spin-off.
|
static Evaluator |
getDefaultOverEvaluator()
Get the default evaluator for spin-over.
|
static ProxyFactory |
getDefaultProxyFactory()
Get the default proxy factory.
|
Object |
getProxy()
Get a proxy for the wrapped object.
|
static Object |
off(Object object)
Convenience method to spin-off the given object from Swing.
|
static Object |
over(Object object)
Convenience method to spin-over the given object with Swing.
|
static void |
setDefaultOffEvaluator(Evaluator evaluator)
Set the default evaluator for spin-off.
|
static void |
setDefaultOverEvaluator(Evaluator evaluator)
Set the default evaluator for spin-over.
|
static void |
setDefaultProxyFactory(ProxyFactory factory)
Set the default factory of proxies.
|
public Spin(Object object, Evaluator evaluator)
object
- object to wrapevaluator
- evaluator of invocations on the given objectpublic Spin(Object object, ProxyFactory proxyFactory, Evaluator evaluator)
object
- object to wrapproxyFactory
- factory for a proxyevaluator
- evaluator of invocations on the given objectpublic Object getProxy()
public static Object off(Object object)
Convenience method to spin-off the given object from Swing.
The returned object can safely be casted to any interface the given object implements.
object
- the object to spin-offsetDefaultProxyFactory(ProxyFactory)
,
setDefaultOffEvaluator(Evaluator)
public static Object over(Object object)
object
- the object to spin-oversetDefaultProxyFactory(ProxyFactory)
,
setDefaultOverEvaluator(Evaluator)
public static void setDefaultProxyFactory(ProxyFactory factory)
factory
- proxy factore to use as defaultpublic static void setDefaultOffEvaluator(Evaluator evaluator)
evaluator
- evaluator to use for spin-offpublic static void setDefaultOverEvaluator(Evaluator evaluator)
evaluator
- evaluator for spin-overpublic static ProxyFactory getDefaultProxyFactory()
public static Evaluator getDefaultOffEvaluator()
public static Evaluator getDefaultOverEvaluator()
Copyright © 2016. All rights reserved.