org.jruby.RubyClass.addReadWriteAttribute()方法的使用及代码示例

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

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

RubyClass.addReadWriteAttribute介绍

暂无

代码示例

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

public static RubyClass createJavaProxy(ThreadContext context) {
  final Ruby runtime = context.runtime;
  RubyClass JavaProxy = runtime.defineClass("JavaProxy", runtime.getObject(), ALLOCATOR);
  JavaProxy.getSingletonClass().addReadWriteAttribute(context, "java_class");
  JavaProxy.defineAnnotatedMethods(JavaProxy.class);
  JavaProxy.includeModule(runtime.getModule("JavaProxyMethods"));
  return JavaProxy;
}

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

public static RubyClass createJavaProxy(ThreadContext context) {
  final Ruby runtime = context.runtime;
  RubyClass JavaProxy = runtime.defineClass("JavaProxy", runtime.getObject(), ALLOCATOR);
  JavaProxy.getSingletonClass().addReadWriteAttribute(context, "java_class");
  JavaProxy.defineAnnotatedMethods(JavaProxy.class);
  JavaProxy.includeModule(runtime.getModule("JavaProxyMethods"));
  return JavaProxy;
}

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

public static RubyClass createJavaProxy(ThreadContext context) {
  Ruby runtime = context.runtime;
  
  RubyClass javaProxy = runtime.defineClass("JavaProxy", runtime.getObject(), new ObjectAllocator() {
    public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
      return new JavaProxy(runtime, klazz);
    }
  });
  
  RubyClass singleton = javaProxy.getSingletonClass();
  
  singleton.addReadWriteAttribute(context, "java_class");
  
  javaProxy.defineAnnotatedMethods(JavaProxy.class);
  javaProxy.includeModule(runtime.getModule("JavaProxyMethods"));
  
  return javaProxy;
}

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

public static RubyClass createJavaProxy(ThreadContext context) {
  Ruby runtime = context.runtime;
  
  RubyClass javaProxy = runtime.defineClass("JavaProxy", runtime.getObject(), new ObjectAllocator() {
    public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
      return new JavaProxy(runtime, klazz);
    }
  });
  
  RubyClass singleton = javaProxy.getSingletonClass();
  
  singleton.addReadWriteAttribute(context, "java_class");
  
  javaProxy.defineAnnotatedMethods(JavaProxy.class);
  javaProxy.includeModule(runtime.getModule("JavaProxyMethods"));
  
  return javaProxy;
}

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

private static void setupJavaSubclass(final ThreadContext context, final RubyClass subclass) {
  subclass.setInstanceVariable("@java_proxy_class", context.nil);
  // Subclasses of Java classes can safely use ivars, so we set this to silence warnings
  subclass.setCacheProxy(true);
  final RubyClass subclassSingleton = subclass.getSingletonClass();
  subclassSingleton.addReadWriteAttribute(context, "java_proxy_class");
  subclassSingleton.addMethod("java_interfaces", new JavaMethodZero(subclassSingleton, PUBLIC, "java_interfaces") {
    @Override
    public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name) {
      IRubyObject javaInterfaces = self.getInstanceVariables().getInstanceVariable("@java_interfaces");
      if (javaInterfaces != null) return javaInterfaces.dup();
      return context.nil;
    }
  });
  subclass.addMethod("__jcreate!", new JCreateMethod(subclassSingleton));
}

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

private static void setupJavaSubclass(final ThreadContext context, final RubyClass subclass) {
  subclass.setInstanceVariable("@java_proxy_class", context.nil);
  // Subclasses of Java classes can safely use ivars, so we set this to silence warnings
  subclass.setCacheProxy(true);
  final RubyClass subclassSingleton = subclass.getSingletonClass();
  subclassSingleton.addReadWriteAttribute(context, "java_proxy_class");
  subclassSingleton.addMethod("java_interfaces", new JavaMethodZero(subclassSingleton, PUBLIC, "java_interfaces") {
    @Override
    public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name) {
      IRubyObject javaInterfaces = self.getInstanceVariables().getInstanceVariable("@java_interfaces");
      if (javaInterfaces != null) return javaInterfaces.dup();
      return context.nil;
    }
  });
  subclass.addMethod("__jcreate!", new JCreateMethod(subclassSingleton));
}

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

cResolver.addReadWriteAttribute(ctx, "tags");
cParser.addReadWriteAttribute(ctx, "options");
cParser.addReadWriteAttribute(ctx, "resolver");
cParser.addReadWriteAttribute(ctx, "input");
cNode.addReadWriteAttribute(ctx, "emitter");
cNode.addReadWriteAttribute(ctx, "resolver");
cNode.addReadAttribute(ctx, "kind");
cNode.addReadAttribute(ctx, "type_id");
cPrivateType.addReadWriteAttribute(ctx, "type_id");
cPrivateType.addReadWriteAttribute(ctx, "value");
cDomainType.addReadWriteAttribute(ctx, "domain");
cDomainType.addReadWriteAttribute(ctx, "type_id");
cDomainType.addReadWriteAttribute(ctx, "value");
cYObject.addReadWriteAttribute(ctx, "class");
cYObject.addReadWriteAttribute(ctx, "ivars");
cBadAlias.addReadWriteAttribute(ctx, "name");
cBadAlias.includeModule(runtime.getComparable());
cOut.addReadWriteAttribute(ctx, "emitter");
cEmitter.addReadWriteAttribute(ctx, "level");

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

subclassSingleton.addReadWriteAttribute(context, "java_proxy_class");
subclassSingleton.addMethod("java_interfaces", new JavaMethodZero(subclassSingleton, PUBLIC) {
  @Override

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

subclassSingleton.addReadWriteAttribute(context, "java_proxy_class");
subclassSingleton.addMethod("java_interfaces", new JavaMethodZero(subclassSingleton, PUBLIC) {
  @Override

相关文章

微信公众号

最新文章

更多

RubyClass类方法