org.jruby
Class RubyStruct
java.lang.Object
org.jruby.RubyBasicObject
org.jruby.RubyObject
org.jruby.RubyStruct
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<IRubyObject>, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType
public class RubyStruct
- extends RubyObject
- Author:
- jpetersen
- See Also:
- Serialized Form
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 |
Method Summary |
IRubyObject |
aref(IRubyObject key)
|
IRubyObject |
aset(IRubyObject key,
IRubyObject value)
|
void |
copySpecialInstanceVariables(IRubyObject clone)
Lots of MRI objects keep their state in non-lookupable ivars
(e:g. |
static RubyClass |
createStructClass(Ruby runtime)
|
IRubyObject |
each_pair(ThreadContext context,
Block block)
|
IRubyObject |
each_pairInternal(ThreadContext context,
Block block)
|
IRubyObject |
each(ThreadContext context,
Block block)
|
IRubyObject |
eachInternal(ThreadContext context,
Block block)
|
IRubyObject |
eql_p(ThreadContext context,
IRubyObject other)
|
IRubyObject |
get(int index)
|
int |
getNativeTypeIndex()
This is overridden in the other concrete Java builtins to provide a fast way
to determine what type they are. |
RubyFixnum |
hash(ThreadContext context)
|
IRubyObject |
initialize_copy(IRubyObject arg)
rb_obj_init_copy
Initializes this object as a copy of the original, that is the
parameter to this object. |
IRubyObject |
initialize(ThreadContext context)
|
IRubyObject |
initialize(ThreadContext context,
IRubyObject arg0)
|
IRubyObject |
initialize(ThreadContext context,
IRubyObject[] args)
|
IRubyObject |
initialize(ThreadContext context,
IRubyObject arg0,
IRubyObject arg1)
|
IRubyObject |
initialize(ThreadContext context,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2)
|
IRubyObject |
initializeInternal(ThreadContext context,
int provided,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2)
|
IRubyObject |
inspect(ThreadContext context)
|
static void |
marshalTo(RubyStruct struct,
MarshalStream output)
|
RubyArray |
members()
|
static RubyArray |
members(IRubyObject recv,
Block block)
|
static RubyClass |
newInstance(IRubyObject recv,
IRubyObject[] args,
Block block)
Create new Struct class. |
static RubyStruct |
newStruct(IRubyObject recv,
Block block)
|
static RubyStruct |
newStruct(IRubyObject recv,
IRubyObject[] args,
Block block)
Create new Structure. |
static RubyStruct |
newStruct(IRubyObject recv,
IRubyObject arg0,
Block block)
|
static RubyStruct |
newStruct(IRubyObject recv,
IRubyObject arg0,
IRubyObject arg1,
Block block)
|
static RubyStruct |
newStruct(IRubyObject recv,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2,
Block block)
|
IRubyObject |
op_equal(ThreadContext context,
IRubyObject other)
|
RubyArray |
select(ThreadContext context,
Block block)
|
IRubyObject |
set(IRubyObject value,
int index)
|
RubyFixnum |
size()
|
RubyArray |
to_a()
rb_any_to_a
call-seq:
obj.to_a -> anArray
Returns an array representation of obj. |
static RubyStruct |
unmarshalFrom(UnmarshalStream input)
|
IRubyObject |
values_at(IRubyObject[] args)
|
Methods inherited from class org.jruby.RubyObject |
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, equals, 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, 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, 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_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_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 |
RubyStruct
public RubyStruct(Ruby runtime,
RubyClass rubyClass)
- Constructor for RubyStruct.
- Parameters:
runtime
- rubyClass
-
createStructClass
public static RubyClass createStructClass(Ruby runtime)
getNativeTypeIndex
public int getNativeTypeIndex()
- Description copied from class:
RubyObject
- This is overridden in the other concrete Java builtins to provide a fast way
to determine what type they are.
Will generally return a value from org.jruby.runtime.ClassIndex
- Specified by:
getNativeTypeIndex
in interface CoreObjectType
- Overrides:
getNativeTypeIndex
in class RubyObject
- Returns:
- the ClassIndex of the native type this object was constructed from
- See Also:
org.jruby.runtime.ClassInde
hash
public RubyFixnum hash(ThreadContext context)
newInstance
public static RubyClass newInstance(IRubyObject recv,
IRubyObject[] args,
Block block)
- Create new Struct class.
MRI: rb_struct_s_def / make_struct
newStruct
public static RubyStruct newStruct(IRubyObject recv,
IRubyObject[] args,
Block block)
- Create new Structure.
MRI: struct_alloc
newStruct
public static RubyStruct newStruct(IRubyObject recv,
Block block)
newStruct
public static RubyStruct newStruct(IRubyObject recv,
IRubyObject arg0,
Block block)
newStruct
public static RubyStruct newStruct(IRubyObject recv,
IRubyObject arg0,
IRubyObject arg1,
Block block)
newStruct
public static RubyStruct newStruct(IRubyObject recv,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2,
Block block)
initialize
public IRubyObject initialize(ThreadContext context,
IRubyObject[] args)
initialize
public IRubyObject initialize(ThreadContext context)
initialize
public IRubyObject initialize(ThreadContext context,
IRubyObject arg0)
initialize
public IRubyObject initialize(ThreadContext context,
IRubyObject arg0,
IRubyObject arg1)
initialize
public IRubyObject initialize(ThreadContext context,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2)
initializeInternal
public IRubyObject initializeInternal(ThreadContext context,
int provided,
IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2)
members
public static RubyArray members(IRubyObject recv,
Block block)
members
public RubyArray members()
select
public RubyArray select(ThreadContext context,
Block block)
set
public IRubyObject set(IRubyObject value,
int index)
get
public IRubyObject get(int index)
copySpecialInstanceVariables
public void copySpecialInstanceVariables(IRubyObject clone)
- Description copied from class:
RubyBasicObject
- Lots of MRI objects keep their state in non-lookupable ivars
(e:g. Range, Struct, etc). This method is responsible for
dupping our java field equivalents
- Specified by:
copySpecialInstanceVariables
in interface IRubyObject
- Overrides:
copySpecialInstanceVariables
in class RubyBasicObject
op_equal
public IRubyObject op_equal(ThreadContext context,
IRubyObject other)
- Specified by:
op_equal
in interface IRubyObject
- Overrides:
op_equal
in class RubyBasicObject
eql_p
public IRubyObject eql_p(ThreadContext context,
IRubyObject other)
inspect
public IRubyObject inspect(ThreadContext context)
to_a
public RubyArray to_a()
- Description copied from class:
RubyBasicObject
- rb_any_to_a
call-seq:
obj.to_a -> anArray
Returns an array representation of obj. For objects of class
Object
and others that don't explicitly override the
method, the return value is an array containing self
.
However, this latter behavior will soon be obsolete.
self.to_a #=> -:1: warning: default `to_a' will be obsolete
"hello".to_a #=> ["hello"]
Time.new.to_a #=> [39, 54, 8, 9, 4, 2003, 3, 99, true, "CDT"]
The default to_a method is deprecated.
- Overrides:
to_a
in class RubyBasicObject
size
public RubyFixnum size()
eachInternal
public IRubyObject eachInternal(ThreadContext context,
Block block)
each
public IRubyObject each(ThreadContext context,
Block block)
each_pairInternal
public IRubyObject each_pairInternal(ThreadContext context,
Block block)
each_pair
public IRubyObject each_pair(ThreadContext context,
Block block)
aref
public IRubyObject aref(IRubyObject key)
aset
public IRubyObject aset(IRubyObject key,
IRubyObject value)
values_at
public IRubyObject values_at(IRubyObject[] args)
marshalTo
public static void marshalTo(RubyStruct struct,
MarshalStream output)
throws java.io.IOException
- Throws:
java.io.IOException
unmarshalFrom
public static RubyStruct unmarshalFrom(UnmarshalStream input)
throws java.io.IOException
- Throws:
java.io.IOException
initialize_copy
public IRubyObject initialize_copy(IRubyObject arg)
- Description copied from class:
RubyBasicObject
- rb_obj_init_copy
Initializes this object as a copy of the original, that is the
parameter to this object. Will make sure that the argument
actually has the same real class as this object. It shouldn't
be possible to initialize an object with something totally
different.
- Overrides:
initialize_copy
in class RubyBasicObject
Copyright © 2002-2009 JRuby Team. All Rights Reserved.