org.jruby.ext.ffi
Class Type

java.lang.Object
  extended by org.jruby.RubyBasicObject
      extended by org.jruby.RubyObject
          extended by org.jruby.ext.ffi.Type
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<IRubyObject>, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType
Direct Known Subclasses:
CallbackInfo, Enum, StructByValue, StructLayout, Type.Builtin

public abstract class Type
extends RubyObject

See Also:
Serialized Form

Nested Class Summary
static class Type.Builtin
           
 
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
protected  int alignment
          Minimum alignment of this type in bytes
protected  NativeType nativeType
           
protected  int size
          Size of this type in bytes
 
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
 
Constructor Summary
protected Type(Ruby runtime, RubyClass klass, NativeType type)
          Initializes a new Type instance.
protected Type(Ruby runtime, RubyClass klass, NativeType type, int size, int alignment)
          Initializes a new Type instance.
 
Method Summary
 IRubyObject alignment(ThreadContext context)
          Gets the native alignment of this Type in bytes
static RubyClass createTypeClass(Ruby runtime, RubyModule ffiModule)
           
 int getNativeAlignment()
          Gets the native alignment of this Type in bytes
 int getNativeSize()
          Gets the native size of this Type in bytes
 NativeType getNativeType()
          Gets the native type of this Type when passed as a parameter
 IRubyObject size(ThreadContext context)
          Gets the native size of this Type in bytes
 
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
 

Field Detail

nativeType

protected final NativeType nativeType

size

protected final int size
Size of this type in bytes


alignment

protected final int alignment
Minimum alignment of this type in bytes

Constructor Detail

Type

protected Type(Ruby runtime,
               RubyClass klass,
               NativeType type,
               int size,
               int alignment)
Initializes a new Type instance.


Type

protected Type(Ruby runtime,
               RubyClass klass,
               NativeType type)
Initializes a new Type instance.

Method Detail

createTypeClass

public static RubyClass createTypeClass(Ruby runtime,
                                        RubyModule ffiModule)

getNativeType

public final NativeType getNativeType()
Gets the native type of this Type when passed as a parameter

Returns:
The native type of this Type.

getNativeSize

public final int getNativeSize()
Gets the native size of this Type in bytes

Returns:
The native size of this Type.

getNativeAlignment

public final int getNativeAlignment()
Gets the native alignment of this Type in bytes

Returns:
The native alignment of this Type.

size

public IRubyObject size(ThreadContext context)
Gets the native size of this Type in bytes

Parameters:
context - The Ruby thread context.
Returns:
The native size of this Type.

alignment

public IRubyObject alignment(ThreadContext context)
Gets the native alignment of this Type in bytes

Parameters:
context - The Ruby thread context.
Returns:
The native alignment of this Type.


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