spin
Class Spin
public class Spin
extends java.lang.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
XYListener any interface your component
implements):
bean.addXYListener((XYListener)Spin.over(component);
Now all required updates to your component (and/or its model) are
transparently excuted on the EDT.
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.
|
Spin
public Spin(Object object,
Evaluator evaluator)
Create a Spin wrapper for the given object.
object
- object to wrapevaluator
- evaluator of invocations on the given object
Spin
public Spin(Object object,
ProxyFactory proxyFactory,
Evaluator evaluator)
Create a Spin wrapper for the given object.
object
- object to wrapproxyFactory
- factory for a proxyevaluator
- evaluator of invocations on the given object
getDefaultOffEvaluator
public static Evaluator getDefaultOffEvaluator()
Get the default evaluator for spin-off.
getDefaultOverEvaluator
public static Evaluator getDefaultOverEvaluator()
Get the default evaluator for spin-over.
getDefaultProxyFactory
public static ProxyFactory getDefaultProxyFactory()
Get the default proxy factory.
- the default factory of proxies
getProxy
public Object getProxy()
Get a proxy for the wrapped object.
The returned object can safely be casted to any interface the wrapped
object implements.
off
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-off
- proxy for the given object
over
public static Object over(Object object)
Convenience method to spin-over the given object with Swing.
The returned object can safely be casted to any interface the given
object implements.
object
- the object to spin-over
- proxy for the given object
setDefaultOffEvaluator
public static void setDefaultOffEvaluator(Evaluator evaluator)
Set the default evaluator for spin-off.
evaluator
- evaluator to use for spin-off
setDefaultOverEvaluator
public static void setDefaultOverEvaluator(Evaluator evaluator)
Set the default evaluator for spin-over.
evaluator
- evaluator for spin-over
setDefaultProxyFactory
public static void setDefaultProxyFactory(ProxyFactory factory)
Set the default factory of proxies.
factory
- proxy factore to use as default