org.jruby.runtime.callback
Class AbstractCallback

java.lang.Object
  extended byorg.jruby.runtime.callback.AbstractCallback
All Implemented Interfaces:
Callback
Direct Known Subclasses:
CglibCallback, ReflectionCallback

public abstract class AbstractCallback
extends java.lang.Object
implements Callback


Nested Class Summary
protected  class AbstractCallback.CallType
           
 
Field Summary
protected  java.lang.Class[] argumentTypes
           
protected  Arity arity
           
protected  AbstractCallback.CallType callType
           
protected  boolean isRestArgs
           
protected  java.lang.Class klass
           
protected  java.lang.String methodName
           
 
Constructor Summary
AbstractCallback(java.lang.Class klass, java.lang.String methodName, java.lang.Class[] args, boolean isRestArgs, boolean isStaticMethod, Arity arity)
           
 
Method Summary
protected abstract  AbstractCallback.CallType callType(boolean isStaticMethod)
           
 IRubyObject execute(IRubyObject recv, IRubyObject[] args)
           
 Arity getArity()
           
protected  java.lang.String getExpectedArgsString(IRubyObject[] methodArgs)
           
protected  IRubyObject invokeMethod(IRubyObject recv, java.lang.Object[] methodArgs)
           
protected  java.lang.Object[] packageRestArgumentsForReflection(java.lang.Object[] originalArgs)
           
protected  void testArgsCount(Ruby ruby, IRubyObject[] methodArgs)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

klass

protected final java.lang.Class klass

methodName

protected final java.lang.String methodName

argumentTypes

protected final java.lang.Class[] argumentTypes

isRestArgs

protected final boolean isRestArgs

arity

protected final Arity arity

callType

protected final AbstractCallback.CallType callType
Constructor Detail

AbstractCallback

public AbstractCallback(java.lang.Class klass,
                        java.lang.String methodName,
                        java.lang.Class[] args,
                        boolean isRestArgs,
                        boolean isStaticMethod,
                        Arity arity)
Method Detail

getExpectedArgsString

protected java.lang.String getExpectedArgsString(IRubyObject[] methodArgs)

packageRestArgumentsForReflection

protected final java.lang.Object[] packageRestArgumentsForReflection(java.lang.Object[] originalArgs)

testArgsCount

protected void testArgsCount(Ruby ruby,
                             IRubyObject[] methodArgs)

invokeMethod

protected IRubyObject invokeMethod(IRubyObject recv,
                                   java.lang.Object[] methodArgs)

execute

public IRubyObject execute(IRubyObject recv,
                           IRubyObject[] args)
Specified by:
execute in interface Callback

getArity

public Arity getArity()
Specified by:
getArity in interface Callback

callType

protected abstract AbstractCallback.CallType callType(boolean isStaticMethod)


Copyright © 2002 Jan Arne Petersen. All Rights Reserved.