Package org.jruby

Class IncludedModule

All Implemented Interfaces:
Serializable, Cloneable, Comparable<IRubyObject>, DelegatedModule, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType
Direct Known Subclasses:
IncludedModuleWrapper

public class IncludedModule extends RubyClass implements DelegatedModule
See Also:
  • Field Details

    • origin

      protected final RubyModule origin
      The module to which this include origins.
  • Constructor Details

  • Method Details

    • isModule

      public boolean isModule()
      Description copied from class: RubyBasicObject
      Specifically polymorphic method that are meant to be overridden by modules to specify that they are modules in an easy way.
      Specified by:
      isModule in interface IRubyObject
      Overrides:
      isModule in class RubyClass
      Returns:
      true if an object is Ruby Module instance (note that it will return false for Ruby Classes).
    • isClass

      public boolean isClass()
      Description copied from class: RubyBasicObject
      Specifically polymorphic method that are meant to be overridden by classes to specify that they are classes in an easy way.
      Specified by:
      isClass in interface IRubyObject
      Overrides:
      isClass in class RubyClass
      Returns:
      true if an object is Ruby Class instance (note that it will return false for Ruby singleton classes).
    • isImmediate

      public boolean isImmediate()
      Description copied from class: RubyBasicObject
      Is object immediate (def: Fixnum, Symbol, true, false, nil?).
      Specified by:
      isImmediate in interface IRubyObject
      Overrides:
      isImmediate in class RubyBasicObject
      Returns:
      boolean
    • setMetaClass

      public void setMetaClass(RubyClass newRubyClass)
      Description copied from class: RubyBasicObject
      Makes it possible to change the metaclass of an object. In practice, this is a simple version of Smalltalks Become, except that it doesn't work when we're dealing with subclasses. In practice it's used to change the singleton/meta class used, without changing the "real" inheritance chain.
      Overrides:
      setMetaClass in class RubyBasicObject
      Parameters:
      newRubyClass - the meta class to set
    • getName

      public String getName(ThreadContext context)
      Description copied from class: RubyModule
      Generate a fully-qualified class name or a #-style name for anonymous and singleton classes. Ruby C equivalent = "classname"
      Overrides:
      getName in class RubyModule
      Returns:
      The generated class name
    • getOrigin

      public RubyModule getOrigin()
      Description copied from class: RubyModule
      In an included or prepended module what is the ACTUAL module it represents?
      Overrides:
      getOrigin in class RubyModule
      Returns:
      the actual module of an included/prepended module.
    • getNonIncludedClass

      @Deprecated public RubyModule getNonIncludedClass()
      Deprecated.
      Overrides:
      getNonIncludedClass in class RubyModule
    • id

      public IRubyObject id()
      We don't want to reveal ourselves to Ruby code, so origin this operation.
      Specified by:
      id in interface IRubyObject
      Overrides:
      id in class RubyBasicObject
      Returns:
      the object id
    • getClassVariables

      protected Map<String,IRubyObject> getClassVariables()
      Overrides:
      getClassVariables in class RubyModule
    • getClassVariablesForRead

      protected Map<String,IRubyObject> getClassVariablesForRead()
      Overrides:
      getClassVariablesForRead in class RubyModule