net.sourceforge.dynamicdispatch
Class DispatcherFactory

java.lang.Object
  extended bynet.sourceforge.dynamicdispatch.DispatcherFactory
Direct Known Subclasses:
ByteCodeDispatcherFactory, ReflectionDispatcherFactory, SourceCodeDispatcherFactory

public abstract class DispatcherFactory
extends java.lang.Object

Creates a dispatcher object for a visitor class. See package overview for details. This is an abstract factory class with a default instance (defaults to ReflectionDispatcher.

Version:
0.0.4
Author:
Fabian Buettner

Field Summary
static java.lang.String METHODNAME
          The default method name to consider (defaults to "visit")
 
Constructor Summary
DispatcherFactory()
           
 
Method Summary
static Dispatcher createDefaultDispatcher(java.lang.Object receiver)
          Calls createDispatcher(Object) on the default factory.
static Dispatcher createDefaultDispatcher(java.lang.Object receiver, java.lang.String method)
          Calls createDispatcher(Object,String) on the default factory.
abstract  Dispatcher createDispatcher(java.lang.Object receiver)
          Create a dispatcher object for receiver whose "dispatch" method is dispatching to all methods named METHODNAME.
abstract  Dispatcher createDispatcher(java.lang.Object receiver, java.lang.String method)
          Create a dispatcher object for receiver whose "dispatch" method is dispatching to all methods named method.
static void setDefaultFactory(DispatcherFactory f)
          Sets the factory used by the createDefaultDispatcher methods.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

METHODNAME

public static final java.lang.String METHODNAME
The default method name to consider (defaults to "visit")

See Also:
Constant Field Values
Constructor Detail

DispatcherFactory

public DispatcherFactory()
Method Detail

setDefaultFactory

public static void setDefaultFactory(DispatcherFactory f)
Sets the factory used by the createDefaultDispatcher methods.


createDispatcher

public abstract Dispatcher createDispatcher(java.lang.Object receiver)
Create a dispatcher object for receiver whose "dispatch" method is dispatching to all methods named METHODNAME.


createDispatcher

public abstract Dispatcher createDispatcher(java.lang.Object receiver,
                                            java.lang.String method)
Create a dispatcher object for receiver whose "dispatch" method is dispatching to all methods named method.


createDefaultDispatcher

public static Dispatcher createDefaultDispatcher(java.lang.Object receiver)
Calls createDispatcher(Object) on the default factory.


createDefaultDispatcher

public static Dispatcher createDefaultDispatcher(java.lang.Object receiver,
                                                 java.lang.String method)
Calls createDispatcher(Object,String) on the default factory.