org.jruby.ext.ffi
Class Invoker

java.lang.Object
  extended by org.jruby.RubyBasicObject
      extended by org.jruby.RubyObject
          extended by org.jruby.ext.ffi.Invoker
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType

public abstract class Invoker
extends RubyObject

A native function invoker

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.ObjectMethods
 
Nested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.BasicObjectMethods, RubyBasicObject.Finalizer, RubyBasicObject.VariableTableEntry
 
Field Summary
protected  Arity arity
          The arity of this function.
 
Fields inherited from class org.jruby.RubyObject
OBJECT_ALLOCATOR
 
Fields inherited from class org.jruby.RubyBasicObject
ALL_F, dataStruct, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, NEVER, NIL_F, TAINTED_F, UNDEF, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, VARIABLE_TABLE_DEFAULT_CAPACITY, VARIABLE_TABLE_EMPTY_TABLE, VARIABLE_TABLE_LOAD_FACTOR, VARIABLE_TABLE_MAXIMUM_CAPACITY, variableTable, variableTableSize, variableTableThreshold
 
Fields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY
 
Constructor Summary
protected Invoker(Ruby runtime, int arity)
          Creates a new Invoker instance.
 
Method Summary
 IRubyObject attach(ThreadContext context, IRubyObject module, IRubyObject methodName)
          Attaches this function to a ruby module or class.
 IRubyObject call(ThreadContext context, IRubyObject[] rubyArgs)
          Invokes the native function with the supplied ruby arguments.
protected  DynamicMethod createDynamicMethod(RubyModule module)
           
static RubyClass createInvokerClass(Ruby runtime, RubyModule module)
           
 Arity getArity()
          Returns the Arity of this function.
abstract  IRubyObject invoke(ThreadContext context, IRubyObject[] args)
           
 
Methods inherited from class org.jruby.RubyObject
as, attachToObjectSpace, callInit, checkFrozen, convertToType, createObjectClass, display, dup, eql_p, eqlInternal, equal_p, equalInternal, equals, evalUnder, evalUnder, extend, freeze, frozen_p, getNativeTypeIndex, hash, hashCode, id_deprecated, id, initialize_copy, initialize, inspect, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval, instance_exec, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, kind_of_p, method, methods, nil_p, op_eqq, op_equal, op_match, private_methods, protected_methods, public_methods, puts, rbClone, remove_instance_variable, respond_to_p, respond_to_p, send, send, send, send, send, singleton_methods, singleton_methods19, singletonMethods, specificEval, specificEval, specificEval, specificEval, specificEval, taint, tainted_p, to_a, to_java, to_s, toString, type_deprecated, type, untaint, validateInstanceVariable
 
Methods inherited from class org.jruby.RubyBasicObject
addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkStringType, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataWrapStruct, ensureInstanceVariablesSettable, eql, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, getFlag, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariableList, getInternalVariables, getJavaClass, getMetaClass, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariableCount, getVariableList, getVariableMap, getVariableNameList, hasInstanceVariable, hasInternalVariable, hasVariables, infectBy, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isRubyVariable, isTaint, isTrue, makeMetaClass, op_not_equal, op_not, removeFinalizers, removeInstanceVariable, removeInternalVariable, respondsTo, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setTaint, syncVariables, taint, testFrozen, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableGetMap, variableTableGetMap, variableTableGetSize, variableTableGetTable, variableTableReadLocked, variableTableRehash, variableTableRemove, variableTableStore, variableTableSync
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

arity

protected final Arity arity
The arity of this function.

Constructor Detail

Invoker

protected Invoker(Ruby runtime,
                  int arity)
Creates a new Invoker instance.

Parameters:
arity -
Method Detail

createInvokerClass

public static RubyClass createInvokerClass(Ruby runtime,
                                           RubyModule module)

attach

public IRubyObject attach(ThreadContext context,
                          IRubyObject module,
                          IRubyObject methodName)
Attaches this function to a ruby module or class.

Parameters:
module - The module or class to attach the function to.
methodName - The ruby name to attach the function as.

createDynamicMethod

protected DynamicMethod createDynamicMethod(RubyModule module)

call

public IRubyObject call(ThreadContext context,
                        IRubyObject[] rubyArgs)
Invokes the native function with the supplied ruby arguments.

Parameters:
rubyArgs - The ruby arguments to pass to the native function.
Returns:
The return value from the native function, as a ruby object.

invoke

public abstract IRubyObject invoke(ThreadContext context,
                                   IRubyObject[] args)

getArity

public final Arity getArity()
Returns the Arity of this function.

Returns:
The Arity of the native function.


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