mandala.rami.impl
Class AbstractARImplFactory

java.lang.Object
  extended bymandala.rami.AbstractARFactory
      extended bymandala.rami.impl.AbstractARImplFactory
All Implemented Interfaces:
Framework.Factory
Direct Known Subclasses:
ARFactory, SORFactory

public abstract class AbstractARImplFactory
extends AbstractARFactory

This abstract class provides all the necessary method to customize the CallbackManager and the FutureFactory used when creating AsynchronousReference implementation instances which depends on FutureFactory objects as AsynchronousReferenceImpl and StoredObjectReference.

This factory uses a BasicFutureFactory instance as the default FutureFactory to use when creating new AsynchronousReference implementation instances. See AbstractARFactory for others default instances.

Subclasses must override the getInstance(Object, CallbackManager, FutureFactory) to customize the creation of asynchronous references.

Version:
1.0
Author:
eipi

Field Summary
protected  FutureFactory futureFactory
          The FutureFactory to use when creating new AsynchronousReference implementation instances.
 
Fields inherited from class mandala.rami.AbstractARFactory
callbackManager
 
Constructor Summary
AbstractARImplFactory()
          Creates a new AbstractARImplFactory instance.
AbstractARImplFactory(CallbackManager callbackManager)
          Creates a new AbstractARImplFactory instance.
AbstractARImplFactory(CallbackManager callbackManager, FutureFactory futureFactory)
          Creates a new AbstractARImplFactory instance.
AbstractARImplFactory(FutureFactory futureFactory)
          Creates a new AbstractARImplFactory instance.
 
Method Summary
static FutureFactory getDefaultFutureFactory()
          Gets the default FutureFactory used when creating new AsynchronousReference implementation instances.
 AsynchronousReference getInstance(java.lang.Object object)
          Returns the AsynchronousReference which references the specified object.
 AsynchronousReference getInstance(java.lang.Object object, CallbackManager callbackManager)
          Gets an asynchronous reference on the specified object.
protected abstract  AsynchronousReference getInstance(java.lang.Object object, CallbackManager callbackManager, FutureFactory futureFactory)
          Gets an asynchronous reference on the specified object.
 
Methods inherited from class mandala.rami.AbstractARFactory
getDefaultCallbackManager, newInstance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

futureFactory

protected final FutureFactory futureFactory

The FutureFactory to use when creating new AsynchronousReference implementation instances.

See Also:
FutureFactory, AsynchronousReferenceImpl, StoredObjectReference
Constructor Detail

AbstractARImplFactory

public AbstractARImplFactory()

Creates a new AbstractARImplFactory instance.

Equivalent to this(getDefaultCallbackManager(), getDefaultFutureFactory());.

See Also:
CallbackManager, FutureFactory

AbstractARImplFactory

public AbstractARImplFactory(CallbackManager callbackManager)

Creates a new AbstractARImplFactory instance.

Equivalent to this(callbackManager, getDefaultFutureFactory());.

Parameters:
callbackManager - the CallbackManager to use when creating new AsynchronousReference

AbstractARImplFactory

public AbstractARImplFactory(FutureFactory futureFactory)

Creates a new AbstractARImplFactory instance.

Equivalent this(getDefaultCallbackManager(), futureFactory); .

Parameters:
futureFactory - the FutureFactory to use when creating new AsynchronousReference

AbstractARImplFactory

public AbstractARImplFactory(CallbackManager callbackManager,
                             FutureFactory futureFactory)

Creates a new AbstractARImplFactory instance.

The specified callbackManager and futureFactory will be used when creating new AsynchronousReference.

Parameters:
callbackManager - the CallbackManager to use when creating new AsynchronousReference
futureFactory - the FutureFactory to use when creating new AsynchronousReference
Method Detail

getDefaultFutureFactory

public static FutureFactory getDefaultFutureFactory()

Gets the default FutureFactory used when creating new AsynchronousReference implementation instances.

Returns:
the default FutureFactory used when creating new AsynchronousReference implementation instances.
See Also:
FutureFactory, AsynchronousReferenceImpl, StoredObjectReference

getInstance

public AsynchronousReference getInstance(java.lang.Object object)
Description copied from interface: Framework.Factory

Returns the AsynchronousReference which references the specified object.

If such an asynchronous reference doesn't exist, it will be created.

Specified by:
getInstance in interface Framework.Factory
Overrides:
getInstance in class AbstractARFactory

getInstance

public AsynchronousReference getInstance(java.lang.Object object,
                                         CallbackManager callbackManager)
Description copied from class: AbstractARFactory

Gets an asynchronous reference on the specified object.

If the object is not already referenced by an asynchronous reference, a new one is created with the specified callbackManager.

Specified by:
getInstance in class AbstractARFactory
Parameters:
object - an Object value
callbackManager - a CallbackManager value
Returns:
the asynchronous reference on the specified object

getInstance

protected abstract AsynchronousReference getInstance(java.lang.Object object,
                                                     CallbackManager callbackManager,
                                                     FutureFactory futureFactory)

Gets an asynchronous reference on the specified object.

If the object is not already referenced by an asynchronous reference, a new one is created with the specified callbackManager and futureFactory.

Parameters:
object - an Object value
callbackManager - a CallbackManager value
futureFactory - a FutureFactory value
Returns:
the asynchronous reference on the specified object


Mandala help mailing list