Package org.jruby.javasupport
Class JavaPackage.BlankSlateWrapper
java.lang.Object
org.jruby.RubyBasicObject
org.jruby.RubyObject
org.jruby.RubyModule
org.jruby.RubyClass
org.jruby.IncludedModule
org.jruby.IncludedModuleWrapper
org.jruby.javasupport.JavaPackage.BlankSlateWrapper
- All Implemented Interfaces:
Serializable,Cloneable,Comparable<IRubyObject>,InstanceVariables,InternalVariables,IRubyObject,CoreObjectType
- Enclosing class:
- JavaPackage
This special module wrapper is used by the Java "package modules" in order to
simulate a blank slate. Only a certain subset of method names will carry
through to searching the superclass, with all others returning null and
triggering the method_missing call needed to handle lazy Java package
discovery.
Because this is in the hierarchy, it does mean any methods that are not Java
packages or otherwise defined on the
Java::JavaPackage will
be inaccessible.-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.jruby.RubyClass
RubyClass.ConcreteJavaReifier, RubyClass.CS_NAMESNested classes/interfaces inherited from class org.jruby.RubyModule
RubyModule.Autoload, RubyModule.AutoloadMethod, RubyModule.CacheEntryFactory, RubyModule.ConstantEntry, RubyModule.JavaClassKindOf, RubyModule.KindOf, RubyModule.MethodClumper, RubyModule.ModuleKernelMethods, RubyModule.ProfilingCacheEntryFactory, RubyModule.RespondToMissingMethod, RubyModule.SynchronizedCacheEntryFactory, RubyModule.WrapperCacheEntryFactoryNested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.DataNested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.Finalizer -
Field Summary
Fields inherited from class org.jruby.IncludedModule
originFields inherited from class org.jruby.RubyClass
CLASS_ALLOCATOR, CS_IDX_INITIALIZE, DEFAULT_OBJECT_MARSHAL, marshal, runtimeFields inherited from class org.jruby.RubyModule
baseName, cachedMethods, CACHEPROXY_F, classIndex, generation, generationObject, id, INCLUDED_INTO_REFINEMENT, includingHierarchies, index, IS_OVERLAID_F, kindOf, methodInvalidator, methodLocation, methods, MODULE_ALLOCATOR, NEEDSIMPL_F, NormalCacheEntryFactory, OMOD_SHARED, parent, REFINED_MODULE_F, SCOPE_CAPTURING_METHODS, superClassFields inherited from class org.jruby.RubyObject
IVAR_INSPECTING_OBJECT_ALLOCATOR, OBJECT_ALLOCATOR, REIFYING_OBJECT_ALLOCATORFields 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, STAMP_OFFSET, TAINTED_F, UNDEF, UNTRUST_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, USER8_F, USER9_F, USERA_F, VAR_TABLE_OFFSET, varTable, varTableStampFields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSubclass(RubyClass subclass) Add a new subclass to the weak set of subclasses.private static StringhandlesMethod(String name) protected DynamicMethodMethods inherited from class org.jruby.IncludedModuleWrapper
constantTableRemove, constantTableStore, constantTableStore, getAutoloadConstant, getAutoloadMap, getAutoloadMapForWrite, getDelegate, isIncluded, isPrepended, isSame, newIncludeClass, variableTableContains, variableTableFetch, variableTableRemove, variableTableStore, variableTableSyncMethods inherited from class org.jruby.IncludedModule
getClassVariables, getClassVariablesForRead, getName, getNonIncludedClass, getOrigin, id, isClass, isImmediate, isModule, setMetaClassMethods inherited from class org.jruby.RubyClass
addClassAnnotation, addFieldAnnotation, addFieldSignature, addInvalidatorsAndFlush, addMethodAnnotation, addMethodSignature, addParameterAnnotation, allocate, becomeSynchronized, checkInheritable, createBootstrapClass, createClassClass, finvoke, finvoke, finvoke, finvoke, finvoke, finvoke, finvoke, finvoke, finvoke, finvoke, finvokeChecked, finvokeChecked, finvokeChecked, finvokeChecked, finvokeWithRefinements, finvokeWithRefinements, finvokeWithRefinements, finvokeWithRefinements, finvokeWithRefinements, getAllMethodSignatures, getAllocator, getBaseCallSite, getBaseCallSites, getClassAnnotations, getClassConfig, getClassRuntime, getExtraCallSites, getFFIHandleAccessorField, getFFIHandleAccessorForRead, getFFIHandleAccessorForWrite, getFieldAnnotations, getFieldSignatures, getIsReifiedExtendedJavaClass, getMarshal, getMethodAnnotations, getMethodSignatures, getNativeClassIndex, getObjectGroupAccessorField, getObjectGroupAccessorForRead, getObjectGroupAccessorForWrite, getObjectIdAccessorField, getParameterAnnotations, getPositionOrDefault, getRealClass, getRealModule, getReifiedClass, getReifiedJavaClass, getReifiedRubyClass, getVariableAccessorForRead, getVariableAccessorForWrite, getVariableAccessorsForRead, getVariableNames, getVariableTableCopy, getVariableTableManager, getVariableTableSize, getVariableTableSizeWithExtras, hasObjectID, inherit, inherited, initialize, initialize, initialize_copy, initialize19, initialize19, invalidateCacheDescendants, invoke, invoke, invoke, invoke, invoke, invoke, invoke, invoke, invoke, invoke, invoke, invokeFrom, invokeFrom, invokeFrom, invokeFrom, invokeFrom, invokeFrom, invokeFrom, invokeFrom, invokeFrom, invokeFrom, invokeInherited, invokePublic, isReifiable, isSingleton, marshal, marshalTo, nearestReifiedClass, newClass, newClass, newClass, newClass, newInstance, newInstance, newInstance, newInstance, newInstance, reify, reify, reify, reify, reifyWithAncestors, reifyWithAncestors, reifyWithAncestors, reifyWithAncestors, removeSubclass, replaceSubclass, setAllocator, setClassAllocator, setClassConfig, setMarshal, setModuleSuperClass, setReifiedClass, setRubyClassAllocator, setRubyStaticAllocator, smartDump, smartLoadNewUser, smartLoadOldUser, subclasses, subclasses, superclass, toJava, unmarshal, unmarshalFromMethods inherited from class org.jruby.RubyModule
addClassProvider, addIncludingHierarchy, addMethod, addMethodAtBootTimeOnly, addMethodInternal, addMethodSymbols, addModuleFunction, addReadAttribute, addReadWriteAttribute, addToCache, addToCache, addWriteAttribute, alias_method, ancestors, ancestors, append_features, attr, attr_accessor, attr_accessor, attr_reader, attr_reader, attr_writer, attr19, autoload, autoload_p, autoloadingValue, checkForCyclicPrepend, checkFrozen, checkValidBindTargetFrom, class_variable_defined_p, class_variable_get, class_variable_get19, class_variable_set, class_variable_set19, class_variables, class_variables, class_variables19, cloneMethods, const_defined_p, const_defined_p, const_defined_p19, const_get, const_get, const_get_1_9, const_get_2_0, const_missing, const_set, constantEntryFetch, constants, constants, constants19, constants19, constantsCommon, constantsCommon, constantsCommon19, constantTableContains, constantTableFetch, constantTableStore, constDefined, constDefinedAt, constDefinedFrom, createModuleClass, define_method, define_method, define_method, defineAlias, defineAliases, defineAnnotatedConstant, defineAnnotatedConstants, defineAnnotatedMethod, defineAnnotatedMethod, defineAnnotatedMethod, defineAnnotatedMethod, defineAnnotatedMethods, defineAnnotatedMethodsIndividually, defineAutoload, defineClassUnder, defineConstant, defineMethodFromBlock, defineMethodFromCallable, defineModuleUnder, defineOrGetClassUnder, defineOrGetClassUnder, defineOrGetModuleUnder, deleteClassVariable, deleteConstant, deprecate_constant, deprecate_constant, deprecateConstant, discoverInstanceVariables, ensureClassVariablesSettable, ensureConstantsSettable, equals, exportMethod, extend_object, extended, fastFetchClassVariable, fastFetchConstant, fastGetClass, fastGetClassVar, fastGetConstant, fastGetConstant, fastGetConstantAt, fastGetConstantFrom, fastGetConstantFromConstMissing, fastGetConstantFromNoConstMissing, fastHasClassVariable, fastHasConstant, fastIsClassVarDefined, fastIsConstantDefined, fastIsConstantDefined19, fastIsConstantDefined19, fastSetClassVar, fastSetConstant, fastStoreClassVariable, fastStoreConstant, fetchClassVariable, fetchConstant, fetchConstant, findImplementer, finishAutoload, freeze, getAncestorList, getAutoloadConstant, getAutoloadFile, getBaseName, getCacheProxy, getCacheToken, getClass, getClassIndex, getClassVar, getClassVar, getClassVariableNameList, getClassVarQuiet, getConstant, getConstant, getConstant, getConstantAt, getConstantAt, getConstantAtSpecial, getConstantFrom, getConstantFromConstMissing, getConstantFromNoConstMissing, getConstantFromNoConstMissing, getConstantMap, getConstantMapForWrite, getConstantNames, getConstantNames, getConstantNoConstMissing, getConstantNoConstMissing, getConstantNoConstMissing, getConstantNoConstMissingSkipAutoload, getConstantNoConstMissingSKipAutoload, getConstantWithAutoload, getGeneration, getGenerationObject, getIdTest, getInvalidator, getJavaProxy, getMethodLocation, getMethods, getMethodsForWrite, getModule, getParent, getRefinements, getRefinementsForWrite, getSimpleName, getStoredConstantList, getStoredConstantNameList, getSuperClass, hasClassVariable, hasConstant, hash, hashCode, hasInternalModuleVariable, hasModuleInHierarchy, hasModuleInPrepends, hasPrepends, include, include, include_p, included, included_modules, includeModule, initialize, instance_method, instance_methods, instance_methods19, instanceMethods, instanceMethods, invalidateCacheDescendantsInner, invalidateConstantCache, invalidateConstantCaches, invalidateCoreClasses, isClassVarDefined, isConstantDefined, isConstantDefined, isIncludedIntoRefinement, isInstance, isKindOfModule, isMethodBound, isMethodBound, isMethodBuiltin, isRefinement, isSameOrigin, isSynchronized, loadPopulatorFor, marshalTo, method_added, method_defined_p, method_defined_p, method_removed, method_undefined, mix, mix, module_eval, module_eval, module_eval, module_eval, module_eval, module_exec, module_exec, module_function, name, name, name19, needsImplementer, nesting, newActivatedRefinementsMap, newIdTest, newMethod, newMethod, newMethod, newModule, newModule, newRefinementsMap, newRefinementsMap, op_cmp, op_eqq, op_equal, op_ge, op_gt, op_le, op_lt, prepend, prepend_features, prepended, prependModule, prependModule, private_class_method, private_constant, private_constant, private_instance_methods, private_instance_methods19, private_method_defined, private_method_defined, protected_instance_methods, protected_instance_methods19, protected_method_defined, protected_method_defined, public_class_method, public_constant, public_constant, public_instance_method, public_instance_methods, public_instance_methods19, public_method_defined, public_method_defined, publicConstDefinedFrom, putAlias, putAlias, putMethod, rbPrivate, rbProtected, rbPublic, refine, remove_class_variable, remove_class_variable19, remove_const, remove_method, removeClassProvider, removeClassVariable, removeMethod, resolveRefinedMethod, resolveUndefConstant, respondsToMethod, respondsToMethod, retrieveMethod, rubyBaseName, rubyName, searchAncestor, searchInternalModuleVariable, searchMethod, searchMethodEntryInner, searchMethodInner, searchMethodLateral, searchWithCache, searchWithCache, searchWithRefinements, setBaseName, setCacheProxy, setClassVar, setConstant, setConstant, setConstantQuiet, setConstantVisibility, setInternalModuleVariable, setJavaProxy, setMethodLocation, setMethodVisibility, setParent, setRefinements, setSuperClass, singleton_class_p, storeClassVariable, storeConstant, storeConstant, syncClassVariables, syncConstants, to_s, undef, undef_method, undefinedMethodMessage, undefineMethod, updateGeneration, used_modules, using, usingModule, validateClassVariable, validateClassVariable, validateClassVariable, validateConstant, validateConstantMethods inherited from class org.jruby.RubyObject
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, dig, dig1, dig2, eqlInternal, equalInternal, inspect, puts, specificEval, toRubyString, toStringMethods inherited from class org.jruby.RubyBasicObject
addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkCallMethod, checkStringType, checkStringType19, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, dataWrapStruct, decode, display, dup, ensureInstanceVariablesSettable, eql, eql_p, equal_p, equal_p19, evalUnder, extend, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, frozen_p, getFFIHandle, getFlag, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getMetaClass, getNativeHandle, getNativeTypeIndex, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getSingletonClassCloneAndAttach, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hashyInspect, hasInstanceVariable, hasInstanceVariables, hasInternalVariable, hasVariables, infectBy, initialize, 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, isFalse, isFrozen, isNil, isSpecialConst, isSpecialObject, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, method, method_missing, method_missing19, method19, methods, methods, methods19, nil_p, nonFixnumHashCode, OBJ_INIT_COPY, objInitCopy, op_cmp, op_equal_19, op_match, op_match19, op_not, op_not_equal, op_not_match, private_methods, private_methods19, protected_methods, protected_methods19, public_methods, public_methods19, rbClone, rbClone, rbInspect, 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, setNativeHandle, setTaint, setUntrusted, setVariable, singleton_method, singleton_method_added, singleton_method_added19, singleton_method_removed, singleton_method_removed19, singleton_method_undefined, singleton_method_undefined19, singleton_methods, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, taint, tainted_p, testFrozen, testFrozen, to_a, to_a, trust, type, type_deprecated, untaint, untrust, untrusted_p, validateInstanceVariable, validateInstanceVariable, validateInstanceVariable, variableTableFastContains, variableTableFastFetch, variableTableFastStore, yieldUnder, yieldUnder
-
Constructor Details
-
BlankSlateWrapper
BlankSlateWrapper(Ruby runtime, RubyClass superClass, RubyModule delegate)
-
-
Method Details
-
searchMethodCommon
- Overrides:
searchMethodCommonin classRubyModule
-
handlesMethod
-
addSubclass
Description copied from class:RubyClassAdd a new subclass to the weak set of subclasses. This version always constructs a new set to avoid having to synchronize against the set when iterating it for invalidation in invalidateCacheDescendants.- Overrides:
addSubclassin classRubyClass- Parameters:
subclass- The subclass to add
-