public class RubyDataBag extends org.jruby.RubyObject implements java.lang.Iterable<Tuple>
The RubyDataBag class uses JRuby's API for the defintion Ruby class using Java code. The comments in this class will more extensively explain the annotations for those not familiar with JRuby.
In JRuby, the annotations are provided for convenience, and are detected and used by the "defineAnnotatedMethods" method. The JRubyClass annotation sets the class name as it will be seen in the Ruby runtime, and alows you to include any modules. In the case of the RubyDataBag, within Ruby we just want it to be called DataBag, and we want it to be enumerable.
FIELD_ALLOCATED_CLASSES, FIELD_ALLOCATORS, IVAR_INSPECTING_OBJECT_ALLOCATOR, OBJECT_ALLOCATOR, OBJECT_VAR0_ALLOCATOR, OBJECT_VAR1_ALLOCATOR, OBJECT_VAR2_ALLOCATOR, OBJECT_VAR3_ALLOCATOR, OBJECT_VAR4_ALLOCATOR, OBJECT_VAR5_ALLOCATOR, OBJECT_VAR6_ALLOCATOR, OBJECT_VAR7_ALLOCATOR, OBJECT_VAR8_ALLOCATOR, OBJECT_VAR9_ALLOCATOR, REIFYING_OBJECT_ALLOCATOR
ALL_F, BASICOBJECT_ALLOCATOR, COMPARE_BY_IDENTITY_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, NEVER, NIL_F, STAMP_OFFSET, TAINTED_F, UNDEF, UNTRUSTED_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, USER8_F, VAR_TABLE_OFFSET, varTable, varTableStamp
Modifier | Constructor and Description |
---|---|
protected |
RubyDataBag(org.jruby.Ruby ruby,
org.jruby.RubyClass rc)
This constructor encapsulated an empty bag.
|
protected |
RubyDataBag(org.jruby.Ruby ruby,
org.jruby.RubyClass rc,
DataBag db)
This constructor encapsulates the bag that is passed to it.
|
Modifier and Type | Method and Description |
---|---|
void |
add(org.jruby.runtime.ThreadContext context,
org.jruby.runtime.builtin.IRubyObject[] args)
The add method accepts a varargs argument; each argument can be either a random
object, a DataBag, or a RubyArray.
|
void |
clear()
This method deletes all of the entries in the underlying DataBag.
|
RubyDataBag |
clone(org.jruby.runtime.ThreadContext context)
This method returns a copy of the encapsulated DataBag.
|
static org.jruby.RubyClass |
define(org.jruby.Ruby runtime)
This method registers the class with the given runtime.
|
org.jruby.runtime.builtin.IRubyObject |
each(org.jruby.runtime.ThreadContext context,
org.jruby.runtime.Block block)
This is an implementation of the each method which opens up the Enumerable interface,
and makes it very convenient to iterate over the elements of a DataBag.
|
org.jruby.runtime.builtin.IRubyObject |
flatten(org.jruby.runtime.ThreadContext context,
org.jruby.runtime.Block block)
This is a convenience method which will run the given block on the first element
of each tuple contained.
|
DataBag |
getBag() |
RubyDataBag |
initialize()
The initialize method is the method used on the Ruby side to construct
the RubyDataBag object.
|
RubyDataBag |
initialize(org.jruby.runtime.builtin.IRubyObject arg)
The initialize method can optionally receive a DataBag.
|
org.jruby.RubyString |
inspect(org.jruby.runtime.ThreadContext context,
org.jruby.runtime.builtin.IRubyObject[] args)
This method returns a string representation of the RubyDataBag.
|
org.jruby.RubyBoolean |
isDistinct(org.jruby.runtime.ThreadContext context)
This returns whether the encapsulated DatBag is distinct, per the distinct setting.
|
org.jruby.RubyBoolean |
isEmpty(org.jruby.runtime.ThreadContext context)
This method returns whether or not the encapsulated DataBag is empty.
|
org.jruby.RubyBoolean |
isSorted(org.jruby.runtime.ThreadContext context)
This returns whether the encapsulated DatBag is distinct, per the sorted setting.
|
java.util.Iterator<Tuple> |
iterator() |
org.jruby.RubyFixnum |
size(org.jruby.runtime.ThreadContext context)
This returns the size of the encapsulated DataBag.
|
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, equals, getNativeTypeIndex, hashCode, initialize, inspect, op_eqq, puts, specificEval, toString
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, getFFIHandle, getFlag, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getNativeHandle, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInternalVariable, hasVariables, id_deprecated, id, infectBy, initialize_copy, initialize19, 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, setFFIHandle, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setNativeHandle, 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
protected RubyDataBag(org.jruby.Ruby ruby, org.jruby.RubyClass rc)
ruby
- an instance of the ruby runtimerc
- an instance of the class object with meatadataprotected RubyDataBag(org.jruby.Ruby ruby, org.jruby.RubyClass rc, DataBag db)
ruby
- an instance of the ruby runtimerc
- an instance of the class object with meatadatadb
- a DataBag to encapsulatepublic DataBag getBag()
public static org.jruby.RubyClass define(org.jruby.Ruby runtime)
runtime
- an instance of the Ruby runtimepublic RubyDataBag initialize()
initialize
in class org.jruby.RubyObject
public RubyDataBag initialize(org.jruby.runtime.builtin.IRubyObject arg)
arg
- an IRubyObject that is a RubyDataBag to encapsulatepublic void clear()
public org.jruby.RubyBoolean isDistinct(org.jruby.runtime.ThreadContext context)
context
- the context the method is being executed inpublic org.jruby.RubyBoolean isSorted(org.jruby.runtime.ThreadContext context)
context
- the context the method is being executed inpublic org.jruby.RubyFixnum size(org.jruby.runtime.ThreadContext context)
context
- the context the method is being executed inpublic void add(org.jruby.runtime.ThreadContext context, org.jruby.runtime.builtin.IRubyObject[] args) throws ExecException
context
- the context the method is being executed inargs
- varargs passed to add. Each argument can be a RubyDataBag, whose
contents will be copied; a RubyArray, which will be treated as a
Tuple, or another object which will be converted over per
PigJrubyLibrary.rubyToPig(org.jruby.runtime.builtin.IRubyObject)
.ExecException
public RubyDataBag clone(org.jruby.runtime.ThreadContext context)
context
- the context the method is being executed inpublic org.jruby.RubyBoolean isEmpty(org.jruby.runtime.ThreadContext context)
context
- the context the method is being executed in
i @return true if the encapsulated DAtaBag is empty, false otherwisepublic org.jruby.RubyString inspect(org.jruby.runtime.ThreadContext context, org.jruby.runtime.builtin.IRubyObject[] args)
context
- the context the method is being executed inargs
- optional true/false argument passed to inspectpublic java.util.Iterator<Tuple> iterator()
iterator
in interface java.lang.Iterable<Tuple>
public org.jruby.runtime.builtin.IRubyObject each(org.jruby.runtime.ThreadContext context, org.jruby.runtime.Block block) throws ExecException
context
- the context the method is being executed inblock
- a block to call on the elements of the bagExecException
public org.jruby.runtime.builtin.IRubyObject flatten(org.jruby.runtime.ThreadContext context, org.jruby.runtime.Block block) throws ExecException
context
- the context the method is being executed inblock
- a block to call on the elements of the bagExecException
Copyright © 2007-2017 The Apache Software Foundation