org.jruby.RubyModule.includeModule()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.7k)|赞(0)|评价(0)|浏览(96)

本文整理了Java中org.jruby.RubyModule.includeModule方法的一些代码示例,展示了RubyModule.includeModule的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RubyModule.includeModule方法的具体详情如下:
包路径:org.jruby.RubyModule
类名称:RubyModule
方法名:includeModule

RubyModule.includeModule介绍

[英]Include a new module in this module or class.
[中]在此模块或类中包含新模块。

代码示例

代码示例来源:origin: org.jruby/jruby-core

static RubyModule define(final Ruby runtime, final RubyModule proxy) {
  proxy.includeModule( runtime.getComparable() ); // include Comparable
  proxy.defineAnnotatedMethods(Comparable.class);
  return proxy;
}

代码示例来源:origin: org.jruby/jruby-complete

static RubyModule define(final Ruby runtime, final RubyModule proxy) {
  proxy.includeModule( runtime.getComparable() ); // include Comparable
  proxy.defineAnnotatedMethods(Comparable.class);
  return proxy;
}

代码示例来源:origin: org.jruby/jruby-complete

static RubyModule define(final Ruby runtime, final RubyModule proxy) {
  proxy.includeModule( runtime.getEnumerable() ); // include Enumerable
  proxy.defineAnnotatedMethods(Enumeration.class);
  return proxy;
}

代码示例来源:origin: org.jruby/jruby-complete

static RubyModule define(final Ruby runtime, final RubyModule proxy) {
  proxy.includeModule( runtime.getEnumerable() ); // include Enumerable
  proxy.defineAnnotatedMethods(Iterator.class);
  return proxy;
}

代码示例来源:origin: org.jruby/jruby-core

static RubyModule define(final Ruby runtime, final RubyModule proxy) {
  proxy.includeModule( runtime.getEnumerable() ); // include Enumerable
  proxy.defineAnnotatedMethods(Collection.class);
  return proxy;
}

代码示例来源:origin: org.jruby/jruby-complete

static RubyModule define(final Ruby runtime, final RubyModule proxy) {
  proxy.includeModule( runtime.getEnumerable() ); // include Enumerable
  proxy.defineAnnotatedMethods(Collection.class);
  return proxy;
}

代码示例来源:origin: org.jruby/jruby-complete

private static void generateInterfaceProxy(final Ruby runtime, final Class javaClass, final RubyModule proxy) {
  assert javaClass.isInterface();
  // include any interfaces we extend
  final Class<?>[] extended = javaClass.getInterfaces();
  for (int i = extended.length; --i >= 0; ) {
    RubyModule extModule = getInterfaceModule(runtime, extended[i]);
    proxy.includeModule(extModule);
  }
  Initializer.setupProxyModule(runtime, javaClass, proxy);
  addToJavaPackageModule(proxy);
}

代码示例来源:origin: org.jruby/jruby-complete

static RubyModule define(final Ruby runtime, final RubyModule proxy) {
  proxy.includeModule( runtime.getEnumerable() ); // include Enumerable
  proxy.defineAnnotatedMethods(Iterable.class);
  return proxy;
}

代码示例来源:origin: org.jruby/jruby-core

private static void generateInterfaceProxy(final Ruby runtime, final Class javaClass, final RubyModule proxy) {
  assert javaClass.isInterface();
  // include any interfaces we extend
  final Class<?>[] extended = javaClass.getInterfaces();
  for (int i = extended.length; --i >= 0; ) {
    RubyModule extModule = getInterfaceModule(runtime, extended[i]);
    proxy.includeModule(extModule);
  }
  Initializer.setupProxyModule(runtime, javaClass, proxy);
  addToJavaPackageModule(proxy);
}

代码示例来源:origin: org.jruby/jruby-core

static RubyModule define(final Ruby runtime, final RubyModule proxy) {
  proxy.includeModule( runtime.getEnumerable() ); // include Enumerable
  proxy.defineAnnotatedMethods(Enumeration.class);
  return proxy;
}

代码示例来源:origin: org.jruby/jruby-core

static RubyModule define(final Ruby runtime, final RubyModule proxy) {
  proxy.includeModule( runtime.getEnumerable() ); // include Enumerable
  proxy.defineAnnotatedMethods(Iterator.class);
  return proxy;
}

代码示例来源:origin: org.jruby/jruby-core

static RubyModule define(final Ruby runtime, final RubyModule proxy) {
  proxy.includeModule( runtime.getEnumerable() ); // include Enumerable
  proxy.defineAnnotatedMethods(Iterable.class);
  return proxy;
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

@JRubyMethod(module = true)
public static IRubyObject append_features(IRubyObject receiver, IRubyObject include, Block block) {
  if (include instanceof RubyModule) {
    ((RubyModule) include).includeModule(receiver);
    include.getSingletonClass().addMethod("induced_from", new JavaMethod.JavaMethodOne(include.getSingletonClass(), Visibility.PUBLIC) {
      @Override
      public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0) {
        return RubyPrecision.induced_from(self, arg0, Block.NULL_BLOCK);
      }
    });
  }
  return receiver;
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

@JRubyMethod(module = true)
public static IRubyObject append_features(IRubyObject receiver, IRubyObject include, Block block) {
  if (include instanceof RubyModule) {
    ((RubyModule) include).includeModule(receiver);
    include.getSingletonClass().addMethod("induced_from", new JavaMethod.JavaMethodOne(include.getSingletonClass(), Visibility.PUBLIC) {
      @Override
      public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject arg0) {
        return RubyPrecision.induced_from(self, arg0, Block.NULL_BLOCK);
      }
    });
  }
  return receiver;
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

/** rb_mod_append_features
 *
 */
@JRubyMethod(name = "append_features", required = 1, visibility = PRIVATE)
public RubyModule append_features(IRubyObject module) {
  if (!(module instanceof RubyModule)) {
    // MRI error message says Class, even though Module is ok 
    throw getRuntime().newTypeError(module,getRuntime().getClassClass());
  }
  ((RubyModule) module).includeModule(this);
  return this;
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

/** rb_mod_append_features
 *
 */
@JRubyMethod(name = "append_features", required = 1, visibility = PRIVATE)
public RubyModule append_features(IRubyObject module) {
  if (!(module instanceof RubyModule)) {
    // MRI error message says Class, even though Module is ok 
    throw getRuntime().newTypeError(module,getRuntime().getClassClass());
  }
  ((RubyModule) module).includeModule(this);
  return this;
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

public static RubyModule getInterfaceModule(Ruby runtime, JavaClass javaClass) {
  if (!javaClass.javaClass().isInterface()) {
    throw runtime.newArgumentError(javaClass.toString() + " is not an interface");
  }
  RubyModule interfaceModule;
  if ((interfaceModule = javaClass.getProxyModule()) != null) {
    return interfaceModule;
  }
  javaClass.lockProxy();
  try {
    if ((interfaceModule = javaClass.getProxyModule()) == null) {
      interfaceModule = (RubyModule) runtime.getJavaSupport().getJavaInterfaceTemplate().dup();
      interfaceModule.setInstanceVariable("@java_class", javaClass);
      javaClass.setupInterfaceModule(interfaceModule);
      // include any interfaces we extend
      Class<?>[] extended = javaClass.javaClass().getInterfaces();
      for (int i = extended.length; --i >= 0;) {
        JavaClass extendedClass = JavaClass.get(runtime, extended[i]);
        RubyModule extModule = getInterfaceModule(runtime, extendedClass);
        interfaceModule.includeModule(extModule);
      }
      addToJavaPackageModule(interfaceModule, javaClass);
    }
  } finally {
    javaClass.unlockProxy();
  }
  return interfaceModule;
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

public static RubyModule getInterfaceModule(Ruby runtime, JavaClass javaClass) {
  if (!javaClass.javaClass().isInterface()) {
    throw runtime.newArgumentError(javaClass.toString() + " is not an interface");
  }
  RubyModule interfaceModule;
  if ((interfaceModule = javaClass.getProxyModule()) != null) {
    return interfaceModule;
  }
  javaClass.lockProxy();
  try {
    if ((interfaceModule = javaClass.getProxyModule()) == null) {
      interfaceModule = (RubyModule) runtime.getJavaSupport().getJavaInterfaceTemplate().dup();
      interfaceModule.setInstanceVariable("@java_class", javaClass);
      javaClass.setupInterfaceModule(interfaceModule);
      // include any interfaces we extend
      Class<?>[] extended = javaClass.javaClass().getInterfaces();
      for (int i = extended.length; --i >= 0;) {
        JavaClass extendedClass = JavaClass.get(runtime, extended[i]);
        RubyModule extModule = getInterfaceModule(runtime, extendedClass);
        interfaceModule.includeModule(extModule);
      }
      addToJavaPackageModule(interfaceModule, javaClass);
    }
  } finally {
    javaClass.unlockProxy();
  }
  return interfaceModule;
}

代码示例来源:origin: org.jruby/jruby-complete

/** rb_mod_append_features
 *
 */
@JRubyMethod(name = "append_features", required = 1, visibility = PRIVATE)
public RubyModule append_features(IRubyObject include) {
  if (!isModule()) {
    throw getRuntime().newTypeError(this, getRuntime().getModule());
  }
  if (!(include instanceof RubyModule)) {
    throw getRuntime().newTypeError(include, getRuntime().getModule());
  }
  if (!(include.isModule() || include.isClass())) {
    throw getRuntime().newTypeError(include, getRuntime().getModule());
  }
  ((RubyModule) include).includeModule(this);
  return this;
}

代码示例来源:origin: org.jruby/jruby-core

/** rb_mod_append_features
 *
 */
@JRubyMethod(name = "append_features", required = 1, visibility = PRIVATE)
public RubyModule append_features(IRubyObject include) {
  if (!isModule()) {
    throw getRuntime().newTypeError(this, getRuntime().getModule());
  }
  if (!(include instanceof RubyModule)) {
    throw getRuntime().newTypeError(include, getRuntime().getModule());
  }
  if (!(include.isModule() || include.isClass())) {
    throw getRuntime().newTypeError(include, getRuntime().getModule());
  }
  ((RubyModule) include).includeModule(this);
  return this;
}

相关文章

微信公众号

最新文章

更多

RubyModule类方法