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.Data
 
Nested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.Finalizer
 
Field Summary
 
Fields inherited from class org.jruby.RubyObject
OBJECT_ALLOCATOR, REIFYING_OBJECT_ALLOCATOR
 
Fields inherited from class org.jruby.RubyBasicObject
ALL_F, BASICOBJECT_ALLOCATOR, COMPARE_BY_IDENTITY_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, USER8_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)
           
 AbstractMemory getMemory()
           
 IRubyObject initialize_copy(ThreadContext context, IRubyObject other)
           
 IRubyObject initialize(ThreadContext context)
           
 IRubyObject initialize(ThreadContext context, IRubyObject ptr)
           
 IRubyObject members(ThreadContext context)
           
 IRubyObject null_p(ThreadContext context)
           
 IRubyObject order(ThreadContext context)
           
 IRubyObject order(ThreadContext context, IRubyObject byte_order)
           
 IRubyObject pointer(ThreadContext context)
           
 void putCachedValue(StructLayout.Member member, IRubyObject value)
           
 void putReference(StructLayout.Member member, IRubyObject value)
           
 void putReference(StructLayout.Member member, java.lang.Object value)
           
 IRubyObject setFieldValue(ThreadContext context, IRubyObject fieldName, IRubyObject fieldValue)
           
 
Methods inherited from class org.jruby.RubyObject
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, equals, getNativeTypeIndex, hashCode, initialize, op_eqq, puts, specificEval, toString
 
Methods inherited from class org.jruby.RubyBasicObject
addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkFrozen, checkStringType, checkStringType19, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, dataWrapStruct, display, dup, ensureInstanceVariablesSettable, eql_p, eql, equal_p, equal_p19, evalUnder, extend, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, freeze, frozen_p, getFlag, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInternalVariable, hasVariables, id_deprecated, id, infectBy, initialize_copy, initialize19, initialize19, initialize19, initialize19, initialize19, initObjectId, inspect, inspectHashCode, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval19, instance_eval19, instance_eval19, instance_eval19, instance_exec, instance_exec19, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, instance_variables19, isBuiltin, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, method_missing19, method, method19, methods, methods, methods19, nil_p, op_cmp, op_equal_19, op_equal, op_match, op_match19, op_not_equal, op_not_match, op_not, private_methods, private_methods19, protected_methods, protected_methods19, public_methods, public_methods19, rbClone, remove_instance_variable, removeFinalizers, removeInstanceVariable, removeInternalVariable, respond_to_p, respond_to_p, respond_to_p19, respond_to_p19, respondsTo, respondsToMissing, respondsToMissing, send, send, send, send, send, send19, send19, send19, send19, send19, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setTaint, setUntrusted, setVariable, singleton_method_added19, singleton_method_removed19, singleton_method_undefined19, singleton_methods, singleton_methods19, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, taint, tainted_p, testFrozen, testFrozen, to_a, to_s, toJava, trust, type_deprecated, type, untaint, untrust, untrusted_p, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnder
 
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)

initialize_copy

public IRubyObject initialize_copy(ThreadContext context,
                                   IRubyObject other)

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)

null_p

public IRubyObject null_p(ThreadContext context)

order

public final IRubyObject order(ThreadContext context)

order

public final IRubyObject order(ThreadContext context,
                               IRubyObject byte_order)

getMemory

public final AbstractMemory 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)

putReference

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


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