org.jruby.runtime
Class CallbackFactory

java.lang.Object
  extended by org.jruby.runtime.CallbackFactory
Direct Known Subclasses:
DumpingInvocationCallbackFactory, InvocationCallbackFactory, ReflectionCallbackFactory

public abstract class CallbackFactory
extends java.lang.Object

Helper class to build Callback method. This impements method corresponding to the signature of method most often found in the Ruby library, for methods with other signature the appropriate Callback object will need to be explicitly created.


Field Summary
static java.lang.Class[] NULL_CLASS_ARRAY
           
 
Constructor Summary
CallbackFactory()
           
 
Method Summary
static CallbackFactory createFactory(Ruby runtime, java.lang.Class type)
           
static CallbackFactory createFactory(Ruby runtime, java.lang.Class type, java.lang.ClassLoader classLoader)
           
abstract  CompiledBlockCallback getBlockCallback(java.lang.String method)
           
abstract  Callback getBlockMethod(java.lang.String method)
           
abstract  Callback getFastMethod(java.lang.String method)
           
abstract  Callback getFastMethod(java.lang.String method, java.lang.Class arg1)
           
abstract  Callback getFastMethod(java.lang.String method, java.lang.Class arg1, java.lang.Class arg2)
           
abstract  Callback getFastMethod(java.lang.String method, java.lang.Class arg1, java.lang.Class arg2, java.lang.Class arg3)
           
abstract  Callback getFastOptMethod(java.lang.String method)
           
abstract  Callback getFastOptSingletonMethod(java.lang.String method)
           
abstract  Callback getFastSingletonMethod(java.lang.String method)
           
abstract  Callback getFastSingletonMethod(java.lang.String method, java.lang.Class arg1)
           
abstract  Callback getFastSingletonMethod(java.lang.String method, java.lang.Class arg1, java.lang.Class arg2)
           
abstract  Callback getFastSingletonMethod(java.lang.String method, java.lang.Class arg1, java.lang.Class arg2, java.lang.Class arg3)
           
abstract  Callback getMethod(java.lang.String method)
          gets an instance method with no arguments.
abstract  Callback getMethod(java.lang.String method, java.lang.Class arg1)
          gets an instance method with 1 argument.
abstract  Callback getMethod(java.lang.String method, java.lang.Class arg1, java.lang.Class arg2)
          gets an instance method with two arguments.
abstract  Callback getMethod(java.lang.String method, java.lang.Class arg1, java.lang.Class arg2, java.lang.Class arg3)
          gets an instance method with two arguments.
abstract  Callback getOptMethod(java.lang.String method)
          gets an instance method with no mandatory argument and some optional arguments.
abstract  Callback getOptSingletonMethod(java.lang.String method)
          gets a singleton (class) method with no mandatory argument and some optional arguments.
abstract  Callback getSingletonMethod(java.lang.String method)
          gets a singleton (class) method without arguments.
abstract  Callback getSingletonMethod(java.lang.String method, java.lang.Class arg1)
          gets a singleton (class) method with 1 argument.
abstract  Callback getSingletonMethod(java.lang.String method, java.lang.Class arg1, java.lang.Class arg2)
          gets a singleton (class) method with 2 arguments.
abstract  Callback getSingletonMethod(java.lang.String method, java.lang.Class arg1, java.lang.Class arg2, java.lang.Class arg3)
          gets a singleton (class) method with 3 arguments.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NULL_CLASS_ARRAY

public static final java.lang.Class[] NULL_CLASS_ARRAY
Constructor Detail

CallbackFactory

public CallbackFactory()
Method Detail

getMethod

public abstract Callback getMethod(java.lang.String method)
gets an instance method with no arguments.

Parameters:
method - name of the method
Returns:
a CallBack object corresponding to the appropriate method

getFastMethod

public abstract Callback getFastMethod(java.lang.String method)

getMethod

public abstract Callback getMethod(java.lang.String method,
                                   java.lang.Class arg1)
gets an instance method with 1 argument.

Parameters:
method - name of the method
arg1 - the class of the only argument for this method
Returns:
a CallBack object corresponding to the appropriate method

getFastMethod

public abstract Callback getFastMethod(java.lang.String method,
                                       java.lang.Class arg1)

getMethod

public abstract Callback getMethod(java.lang.String method,
                                   java.lang.Class arg1,
                                   java.lang.Class arg2)
gets an instance method with two arguments.

Parameters:
method - name of the method
arg1 - the java class of the first argument for this method
arg2 - the java class of the second argument for this method
Returns:
a CallBack object corresponding to the appropriate method

getFastMethod

public abstract Callback getFastMethod(java.lang.String method,
                                       java.lang.Class arg1,
                                       java.lang.Class arg2)

getMethod

public abstract Callback getMethod(java.lang.String method,
                                   java.lang.Class arg1,
                                   java.lang.Class arg2,
                                   java.lang.Class arg3)
gets an instance method with two arguments.

Parameters:
method - name of the method
arg1 - the java class of the first argument for this method
arg2 - the java class of the second argument for this method
arg3 - the java class of the second argument for this method
Returns:
a CallBack object corresponding to the appropriate method

getFastMethod

public abstract Callback getFastMethod(java.lang.String method,
                                       java.lang.Class arg1,
                                       java.lang.Class arg2,
                                       java.lang.Class arg3)

getSingletonMethod

public abstract Callback getSingletonMethod(java.lang.String method)
gets a singleton (class) method without arguments.

Parameters:
method - name of the method
Returns:
a CallBack object corresponding to the appropriate method

getFastSingletonMethod

public abstract Callback getFastSingletonMethod(java.lang.String method)

getSingletonMethod

public abstract Callback getSingletonMethod(java.lang.String method,
                                            java.lang.Class arg1)
gets a singleton (class) method with 1 argument.

Parameters:
method - name of the method
arg1 - the class of the only argument for this method
Returns:
a CallBack object corresponding to the appropriate method

getFastSingletonMethod

public abstract Callback getFastSingletonMethod(java.lang.String method,
                                                java.lang.Class arg1)

getSingletonMethod

public abstract Callback getSingletonMethod(java.lang.String method,
                                            java.lang.Class arg1,
                                            java.lang.Class arg2)
gets a singleton (class) method with 2 arguments.

Parameters:
method - name of the method
Returns:
a CallBack object corresponding to the appropriate method

getFastSingletonMethod

public abstract Callback getFastSingletonMethod(java.lang.String method,
                                                java.lang.Class arg1,
                                                java.lang.Class arg2)

getSingletonMethod

public abstract Callback getSingletonMethod(java.lang.String method,
                                            java.lang.Class arg1,
                                            java.lang.Class arg2,
                                            java.lang.Class arg3)
gets a singleton (class) method with 3 arguments.

Parameters:
method - name of the method
Returns:
a CallBack object corresponding to the appropriate method

getFastSingletonMethod

public abstract Callback getFastSingletonMethod(java.lang.String method,
                                                java.lang.Class arg1,
                                                java.lang.Class arg2,
                                                java.lang.Class arg3)

getBlockMethod

public abstract Callback getBlockMethod(java.lang.String method)

getBlockCallback

public abstract CompiledBlockCallback getBlockCallback(java.lang.String method)

getOptSingletonMethod

public abstract Callback getOptSingletonMethod(java.lang.String method)
gets a singleton (class) method with no mandatory argument and some optional arguments.

Parameters:
method - name of the method
Returns:
a CallBack object corresponding to the appropriate method

getFastOptSingletonMethod

public abstract Callback getFastOptSingletonMethod(java.lang.String method)

getOptMethod

public abstract Callback getOptMethod(java.lang.String method)
gets an instance method with no mandatory argument and some optional arguments.

Parameters:
method - name of the method
Returns:
a CallBack object corresponding to the appropriate method

getFastOptMethod

public abstract Callback getFastOptMethod(java.lang.String method)

createFactory

public static CallbackFactory createFactory(Ruby runtime,
                                            java.lang.Class type)

createFactory

public static CallbackFactory createFactory(Ruby runtime,
                                            java.lang.Class type,
                                            java.lang.ClassLoader classLoader)


Copyright © 2002-2007 JRuby Team. All Rights Reserved.