spin
Class Spin

java.lang.Object
  extended by spin.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.

See Also:
off(Object), over(Object), ProxyFactory, SpinOffEvaluator, SpinOverEvaluator

Constructor Summary
Spin(java.lang.Object object, Evaluator evaluator)
          Create a Spin wrapper for the given object.
Spin(java.lang.Object object, ProxyFactory proxyFactory, Evaluator evaluator)
          Create a Spin wrapper for the given object.
 
Method Summary
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.
 java.lang.Object getProxy()
          Get a proxy for the wrapped object.
static java.lang.Object off(java.lang.Object object)
           Convenience method to spin-off the given object from Swing.
static java.lang.Object over(java.lang.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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Spin

public Spin(java.lang.Object object,
            Evaluator evaluator)
Create a Spin wrapper for the given object.

Parameters:
object - object to wrap
evaluator - evaluator of invocations on the given object

Spin

public Spin(java.lang.Object object,
            ProxyFactory proxyFactory,
            Evaluator evaluator)
Create a Spin wrapper for the given object.

Parameters:
object - object to wrap
proxyFactory - factory for a proxy
evaluator - evaluator of invocations on the given object
Method Detail

getProxy

public java.lang.Object getProxy()
Get a proxy for the wrapped object.
The returned object can safely be casted to any interface the wrapped object implements.

Returns:
the new proxy

off

public static java.lang.Object off(java.lang.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.

Parameters:
object - the object to spin-off
Returns:
proxy for the given object
See Also:
setDefaultProxyFactory(ProxyFactory), setDefaultOffEvaluator(Evaluator)

over

public static java.lang.Object over(java.lang.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.

Parameters:
object - the object to spin-over
Returns:
proxy for the given object
See Also:
setDefaultProxyFactory(ProxyFactory), setDefaultOverEvaluator(Evaluator)

setDefaultProxyFactory

public static void setDefaultProxyFactory(ProxyFactory factory)
Set the default factory of proxies.

Parameters:
factory - proxy factore to use as default

setDefaultOffEvaluator

public static void setDefaultOffEvaluator(Evaluator evaluator)
Set the default evaluator for spin-off.

Parameters:
evaluator - evaluator to use for spin-off

setDefaultOverEvaluator

public static void setDefaultOverEvaluator(Evaluator evaluator)
Set the default evaluator for spin-over.

Parameters:
evaluator - evaluator for spin-over

getDefaultProxyFactory

public static ProxyFactory getDefaultProxyFactory()
Get the default proxy factory.

Returns:
the default factory of proxies

getDefaultOffEvaluator

public static Evaluator getDefaultOffEvaluator()
Get the default evaluator for spin-off.

Returns:
evaluator for spin-off

getDefaultOverEvaluator

public static Evaluator getDefaultOverEvaluator()
Get the default evaluator for spin-over.

Returns:
evaluator for spin-over


Copyright © 2007. All Rights Reserved.