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

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

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

RubyClass.setMarshal介绍

暂无

代码示例

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

public static RubyClass createSystemCallErrorClass(Ruby runtime, RubyClass standardError) {
  RubyClass exceptionClass = runtime.defineClass("SystemCallError", standardError, SYSTEM_CALL_ERROR_ALLOCATOR);
  exceptionClass.setMarshal(SYSTEM_CALL_ERROR_MARSHAL);
  
  exceptionClass.defineAnnotatedMethods(RubySystemCallError.class);
  return exceptionClass;
}

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

public static RubyClass define(Ruby runtime, RubyClass standardError) {
  RubyClass exceptionClass = runtime.defineClass("SystemCallError", standardError, SYSTEM_CALL_ERROR_ALLOCATOR);
  exceptionClass.setMarshal(SYSTEM_CALL_ERROR_MARSHAL);
  
  exceptionClass.defineAnnotatedMethods(RubySystemCallError.class);
  return exceptionClass;
}

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

public static RubyClass createSystemCallErrorClass(Ruby runtime, RubyClass standardError) {
  RubyClass exceptionClass = runtime.defineClass("SystemCallError", standardError, SYSTEM_CALL_ERROR_ALLOCATOR);
  exceptionClass.setMarshal(SYSTEM_CALL_ERROR_MARSHAL);
  
  exceptionClass.defineAnnotatedMethods(RubySystemCallError.class);
  return exceptionClass;
}

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

public static RubyClass define(Ruby runtime, RubyClass standardError) {
  RubyClass exceptionClass = runtime.defineClass("SystemCallError", standardError, SYSTEM_CALL_ERROR_ALLOCATOR);
  exceptionClass.setMarshal(SYSTEM_CALL_ERROR_MARSHAL);
  
  exceptionClass.defineAnnotatedMethods(RubySystemCallError.class);
  return exceptionClass;
}

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

public static RubyClass createExceptionClass(Ruby runtime) {
  RubyClass exceptionClass = runtime.defineClass("Exception", runtime.getObject(), EXCEPTION_ALLOCATOR);
  runtime.setException(exceptionClass);
  exceptionClass.index = ClassIndex.EXCEPTION;
  exceptionClass.setReifiedClass(RubyException.class);
  exceptionClass.setMarshal(EXCEPTION_MARSHAL);
  exceptionClass.defineAnnotatedMethods(RubyException.class);
  return exceptionClass;
}

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

public static RubyClass createExceptionClass(Ruby runtime) {
  RubyClass exceptionClass = runtime.defineClass("Exception", runtime.getObject(), EXCEPTION_ALLOCATOR);
  runtime.setException(exceptionClass);
  exceptionClass.index = ClassIndex.EXCEPTION;
  exceptionClass.setReifiedClass(RubyException.class);
  exceptionClass.setMarshal(EXCEPTION_MARSHAL);
  exceptionClass.defineAnnotatedMethods(RubyException.class);
  return exceptionClass;
}

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

public static RubyClass createExceptionClass(Ruby runtime) {
  RubyClass exceptionClass = runtime.defineClass("Exception", runtime.getObject(), EXCEPTION_ALLOCATOR);
  runtime.setException(exceptionClass);
  exceptionClass.setClassIndex(ClassIndex.EXCEPTION);
  exceptionClass.setReifiedClass(RubyException.class);
  exceptionClass.setMarshal(EXCEPTION_MARSHAL);
  exceptionClass.defineAnnotatedMethods(RubyException.class);
  return exceptionClass;
}

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

public static RubyClass createExceptionClass(Ruby runtime) {
  RubyClass exceptionClass = runtime.defineClass("Exception", runtime.getObject(), EXCEPTION_ALLOCATOR);
  runtime.setException(exceptionClass);
  exceptionClass.setClassIndex(ClassIndex.EXCEPTION);
  exceptionClass.setReifiedClass(RubyException.class);
  exceptionClass.setMarshal(EXCEPTION_MARSHAL);
  exceptionClass.defineAnnotatedMethods(RubyException.class);
  return exceptionClass;
}

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

public static RubyClass createRangeClass(Ruby runtime) {
  RubyClass result = runtime.defineClass("Range", runtime.getObject(), RANGE_ALLOCATOR);
  runtime.setRange(result);
  result.index = ClassIndex.RANGE;
  result.setReifiedClass(RubyRange.class);
  result.kindOf = new RubyModule.JavaClassKindOf(RubyRange.class);
  
  result.setMarshal(RANGE_MARSHAL);
  result.includeModule(runtime.getEnumerable());
  result.defineAnnotatedMethods(RubyRange.class);
  return result;
}

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

public static RubyClass createRangeClass(Ruby runtime) {
  RubyClass result = runtime.defineClass("Range", runtime.getObject(), RANGE_ALLOCATOR);
  runtime.setRange(result);
  result.index = ClassIndex.RANGE;
  result.setReifiedClass(RubyRange.class);
  result.kindOf = new RubyModule.JavaClassKindOf(RubyRange.class);
  
  result.setMarshal(RANGE_MARSHAL);
  result.includeModule(runtime.getEnumerable());
  result.defineAnnotatedMethods(RubyRange.class);
  return result;
}

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

public static RubyClass createRangeClass(Ruby runtime) {
  RubyClass result = runtime.defineClass("Range", runtime.getObject(), RANGE_ALLOCATOR);
  runtime.setRange(result);
  result.setClassIndex(ClassIndex.RANGE);
  result.setReifiedClass(RubyRange.class);
  result.kindOf = new RubyModule.JavaClassKindOf(RubyRange.class);
  result.setMarshal(RANGE_MARSHAL);
  result.includeModule(runtime.getEnumerable());
  result.defineAnnotatedMethods(RubyRange.class);
  return result;
}

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

public static RubyClass createRangeClass(Ruby runtime) {
  RubyClass result = runtime.defineClass("Range", runtime.getObject(), RANGE_ALLOCATOR);
  runtime.setRange(result);
  result.setClassIndex(ClassIndex.RANGE);
  result.setReifiedClass(RubyRange.class);
  result.kindOf = new RubyModule.JavaClassKindOf(RubyRange.class);
  result.setMarshal(RANGE_MARSHAL);
  result.includeModule(runtime.getEnumerable());
  result.defineAnnotatedMethods(RubyRange.class);
  return result;
}

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

static RubyClass createSetClass(final Ruby runtime) {
  RubyClass Set = runtime.defineClass("Set", runtime.getObject(), ALLOCATOR);
  Set.setReifiedClass(RubySet.class);
  Set.includeModule(runtime.getEnumerable());
  Set.defineAnnotatedMethods(RubySet.class);
  Set.setMarshal(new SetMarshal(Set.getMarshal()));
  runtime.getLoadService().require("jruby/set.rb");
  return Set;
}

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

public static RubyClass createRationalClass(Ruby runtime) {
  RubyClass rationalc = runtime.defineClass("Rational", runtime.getNumeric(), RATIONAL_ALLOCATOR);
  runtime.setRational(rationalc);
  rationalc.index = ClassIndex.RATIONAL;
  rationalc.setReifiedClass(RubyRational.class);
  
  rationalc.kindOf = new RubyModule.JavaClassKindOf(RubyRational.class);
  rationalc.setMarshal(RATIONAL_MARSHAL);
  rationalc.defineAnnotatedMethods(RubyRational.class);
  rationalc.getSingletonClass().undefineMethod("allocate");
  rationalc.getSingletonClass().undefineMethod("new");
  return rationalc;
}

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

public static RubyClass createRationalClass(Ruby runtime) {
  RubyClass rationalc = runtime.defineClass("Rational", runtime.getNumeric(), RATIONAL_ALLOCATOR);
  runtime.setRational(rationalc);
  rationalc.index = ClassIndex.RATIONAL;
  rationalc.setReifiedClass(RubyRational.class);
  
  rationalc.kindOf = new RubyModule.JavaClassKindOf(RubyRational.class);
  rationalc.setMarshal(RATIONAL_MARSHAL);
  rationalc.defineAnnotatedMethods(RubyRational.class);
  rationalc.getSingletonClass().undefineMethod("allocate");
  rationalc.getSingletonClass().undefineMethod("new");
  return rationalc;
}

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

static RubyClass createSetClass(final Ruby runtime) {
  RubyClass Set = runtime.defineClass("Set", runtime.getObject(), ALLOCATOR);
  Set.setReifiedClass(RubySet.class);
  Set.includeModule(runtime.getEnumerable());
  Set.defineAnnotatedMethods(RubySet.class);
  Set.setMarshal(new SetMarshal(Set.getMarshal()));
  runtime.getLoadService().require("jruby/set.rb");
  return Set;
}

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

public static RubyClass createRationalClass(Ruby runtime) {
  RubyClass rationalc = runtime.defineClass("Rational", runtime.getNumeric(), RATIONAL_ALLOCATOR);
  runtime.setRational(rationalc);
  rationalc.setClassIndex(ClassIndex.RATIONAL);
  rationalc.setReifiedClass(RubyRational.class);
  
  rationalc.kindOf = new RubyModule.JavaClassKindOf(RubyRational.class);
  rationalc.setMarshal(RATIONAL_MARSHAL);
  rationalc.defineAnnotatedMethods(RubyRational.class);
  rationalc.getSingletonClass().undefineMethod("allocate");
  rationalc.getSingletonClass().undefineMethod("new");
  return rationalc;
}

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

public static RubyClass createRationalClass(Ruby runtime) {
  RubyClass rationalc = runtime.defineClass("Rational", runtime.getNumeric(), RATIONAL_ALLOCATOR);
  runtime.setRational(rationalc);
  rationalc.setClassIndex(ClassIndex.RATIONAL);
  rationalc.setReifiedClass(RubyRational.class);
  
  rationalc.kindOf = new RubyModule.JavaClassKindOf(RubyRational.class);
  rationalc.setMarshal(RATIONAL_MARSHAL);
  rationalc.defineAnnotatedMethods(RubyRational.class);
  rationalc.getSingletonClass().undefineMethod("allocate");
  rationalc.getSingletonClass().undefineMethod("new");
  return rationalc;
}

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

public static RubyClass createThreadClass(Ruby runtime) {
  // FIXME: In order for Thread to play well with the standard 'new' behavior,
  // it must provide an allocator that can create empty object instances which
  // initialize then fills with appropriate data.
  RubyClass threadClass = runtime.defineClass("Thread", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  runtime.setThread(threadClass);
  threadClass.setClassIndex(ClassIndex.THREAD);
  threadClass.setReifiedClass(RubyThread.class);
  threadClass.defineAnnotatedMethods(RubyThread.class);
  RubyThread rubyThread = new RubyThread(runtime, threadClass);
  // TODO: need to isolate the "current" thread from class creation
  rubyThread.threadImpl = new NativeThread(rubyThread, Thread.currentThread());
  runtime.getThreadService().setMainThread(Thread.currentThread(), rubyThread);
  // set to default thread group
  runtime.getDefaultThreadGroup().addDirectly(rubyThread);
  threadClass.setMarshal(ObjectMarshal.NOT_MARSHALABLE_MARSHAL);
  // set up Thread::Backtrace::Location class
  RubyClass backtrace = threadClass.defineClassUnder("Backtrace", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  RubyClass location = backtrace.defineClassUnder("Location", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  location.defineAnnotatedMethods(Location.class);
  runtime.setLocation(location);
  return threadClass;
}

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

public static RubyClass createThreadClass(Ruby runtime) {
  // FIXME: In order for Thread to play well with the standard 'new' behavior,
  // it must provide an allocator that can create empty object instances which
  // initialize then fills with appropriate data.
  RubyClass threadClass = runtime.defineClass("Thread", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  runtime.setThread(threadClass);
  threadClass.setClassIndex(ClassIndex.THREAD);
  threadClass.setReifiedClass(RubyThread.class);
  threadClass.defineAnnotatedMethods(RubyThread.class);
  RubyThread rubyThread = new RubyThread(runtime, threadClass);
  // TODO: need to isolate the "current" thread from class creation
  rubyThread.threadImpl = new NativeThread(rubyThread, Thread.currentThread());
  runtime.getThreadService().setMainThread(Thread.currentThread(), rubyThread);
  // set to default thread group
  runtime.getDefaultThreadGroup().addDirectly(rubyThread);
  threadClass.setMarshal(ObjectMarshal.NOT_MARSHALABLE_MARSHAL);
  // set up Thread::Backtrace::Location class
  RubyClass backtrace = threadClass.defineClassUnder("Backtrace", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  RubyClass location = backtrace.defineClassUnder("Location", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  location.defineAnnotatedMethods(Location.class);
  runtime.setLocation(location);
  return threadClass;
}

相关文章

微信公众号

最新文章

更多

RubyClass类方法