org.jruby.ext.ffi
Class Struct

java.lang.Object
  extended by org.jruby.RubyBasicObject
      extended by org.jruby.RubyObject
          extended by org.jruby.ext.ffi.Struct
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<IRubyObject>, StructLayout.Storage, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType

public class Struct
extends RubyObject
implements StructLayout.Storage

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
 
Field Summary
 
Fields inherited from class org.jruby.RubyObject
OBJECT_ALLOCATOR
 
Fields inherited from class org.jruby.RubyBasicObject
ALL_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, NEVER, NIL_F, TAINTED_F, UNDEF, UNTRUSTED_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F
 
Fields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY
 
Method Summary
static IRubyObject allocateIn(ThreadContext context, IRubyObject klass)
           
static IRubyObject allocateIn(ThreadContext context, IRubyObject klass, IRubyObject clearArg)
           
static IRubyObject allocateInOut(ThreadContext context, IRubyObject klass)
           
static IRubyObject allocateInOut(ThreadContext context, IRubyObject klass, IRubyObject clearArg)
           
static IRubyObject allocateOut(ThreadContext context, IRubyObject klass)
           
static IRubyObject allocateOut(ThreadContext context, IRubyObject klass, IRubyObject clearArg)
           
static RubyClass createStructClass(Ruby runtime, RubyModule module)
          Registers the StructLayout class in the JRuby runtime.
 IRubyObject getCachedValue(StructLayout.Member member)
           
 IRubyObject getFieldValue(ThreadContext context, IRubyObject fieldName)
           
 IRubyObject getLayout(ThreadContext context)
           
 IRubyObject getMemory()
           
 IRubyObject initialize(ThreadContext context)
           
 IRubyObject initialize(ThreadContext context, IRubyObject ptr)
           
 IRubyObject members(ThreadContext context)
           
 IRubyObject pointer(ThreadContext context)
           
 void putCachedValue(StructLayout.Member member, IRubyObject value)
           
 void putReference(StructLayout.Member member, IRubyObject value)
           
 IRubyObject setFieldValue(ThreadContext context, IRubyObject fieldName, IRubyObject fieldValue)
           
 
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, trust, type_deprecated, type, untaint, untrust, untrusted_p, validateInstanceVariable
 
Methods inherited from class org.jruby.RubyBasicObject
addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkStringType, compareTo, 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, getInternalVariables, getJavaClass, getMetaClass, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hasInstanceVariable, hasInternalVariable, hasVariables, infectBy, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isTaint, isTrue, isUntrusted, makeMetaClass, op_not_equal, op_not, removeFinalizers, removeInstanceVariable, removeInternalVariable, respondsTo, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setTaint, setUntrusted, setVariable, syncVariables, taint, testFrozen, testFrozen, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableGetSize, variableTableRemove, variableTableStore, variableTableSync
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

createStructClass

public static RubyClass createStructClass(Ruby runtime,
                                          RubyModule module)
Registers the StructLayout class in the JRuby runtime.

Parameters:
runtime - The JRuby runtime to register the new class in.
Returns:
The new class

initialize

public IRubyObject initialize(ThreadContext context)

initialize

public IRubyObject initialize(ThreadContext context,
                              IRubyObject ptr)

allocateIn

public static IRubyObject allocateIn(ThreadContext context,
                                     IRubyObject klass)

allocateIn

public static IRubyObject allocateIn(ThreadContext context,
                                     IRubyObject klass,
                                     IRubyObject clearArg)

allocateOut

public static IRubyObject allocateOut(ThreadContext context,
                                      IRubyObject klass)

allocateOut

public static IRubyObject allocateOut(ThreadContext context,
                                      IRubyObject klass,
                                      IRubyObject clearArg)

allocateInOut

public static IRubyObject allocateInOut(ThreadContext context,
                                        IRubyObject klass)

allocateInOut

public static IRubyObject allocateInOut(ThreadContext context,
                                        IRubyObject klass,
                                        IRubyObject clearArg)

getFieldValue

public IRubyObject getFieldValue(ThreadContext context,
                                 IRubyObject fieldName)

setFieldValue

public IRubyObject setFieldValue(ThreadContext context,
                                 IRubyObject fieldName,
                                 IRubyObject fieldValue)

getLayout

public IRubyObject getLayout(ThreadContext context)

pointer

public IRubyObject pointer(ThreadContext context)

members

public IRubyObject members(ThreadContext context)

getMemory

public final IRubyObject getMemory()

getCachedValue

public final IRubyObject getCachedValue(StructLayout.Member member)
Specified by:
getCachedValue in interface StructLayout.Storage

putCachedValue

public final void putCachedValue(StructLayout.Member member,
                                 IRubyObject value)
Specified by:
putCachedValue in interface StructLayout.Storage

putReference

public void putReference(StructLayout.Member member,
                         IRubyObject value)
Specified by:
putReference in interface StructLayout.Storage


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