当前位置: 首页>>代码示例>>Java>>正文


Java ObjectAllocator类代码示例

本文整理汇总了Java中org.jruby.runtime.ObjectAllocator的典型用法代码示例。如果您正苦于以下问题:Java ObjectAllocator类的具体用法?Java ObjectAllocator怎么用?Java ObjectAllocator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ObjectAllocator类属于org.jruby.runtime包,在下文中一共展示了ObjectAllocator类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: load

import org.jruby.runtime.ObjectAllocator; //导入依赖的package包/类
public void load(Ruby runtime, boolean wrap) throws IOException {
    RubyModule jo = runtime.defineModule("Jo");
    final ExecutorService executor = Executors.newCachedThreadPool(new ThreadFactory() {
        public Thread newThread(Runnable r) {
            Thread t = new Thread(r);
            t.setDaemon(true);
            return t;
        }
    });
    jo.setInternalVariable("executor", executor);
    RubyClass joFuture = jo.defineClassUnder("Future", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
    RubyClass joChannel = jo.defineClassUnder("Channel", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
    
    jo.defineAnnotatedMethods(JoMethods.class);
    joFuture.defineAnnotatedMethods(JoFuture.class);
    joChannel.defineAnnotatedMethods(JoChannel.class);
    
    runtime.addFinalizer(new Finalizable() {
        public void finalize() {
            executor.shutdown();
        }
    });
}
 
开发者ID:headius,项目名称:jo,代码行数:24,代码来源:JoLibrary.java

示例2: load

import org.jruby.runtime.ObjectAllocator; //导入依赖的package包/类
public void load(Ruby runtime, boolean wrap) {
    RubyModule persistent = runtime.getOrCreateModule("Persistent");
    RubyClass persistentVector = persistent.defineOrGetClassUnder("Vector", runtime.getObject());
    persistentVector.setAllocator(new ObjectAllocator() {
        @Override
        public IRubyObject allocate(Ruby ruby, RubyClass rubyClass) {
            return new PersistentVector(ruby, rubyClass);
        }
    });
    persistentVector.includeModule(runtime.getEnumerable());
    persistentVector.defineAnnotatedMethods(PersistentVector.class);
}
 
开发者ID:Who828,项目名称:persistent_data_structures,代码行数:13,代码来源:PersistentVectorLibrary.java

示例3: createRubyMap

import org.jruby.runtime.ObjectAllocator; //导入依赖的package包/类
public static void createRubyMap(Ruby runtime) {
    RubyModule protobuf = runtime.getClassFromPath("Google::Protobuf");
    RubyClass cMap = protobuf.defineClassUnder("Map", runtime.getObject(), new ObjectAllocator() {
        @Override
        public IRubyObject allocate(Ruby ruby, RubyClass rubyClass) {
            return new RubyMap(ruby, rubyClass);
        }
    });
    cMap.includeModule(runtime.getEnumerable());
    cMap.defineAnnotatedMethods(RubyMap.class);
}
 
开发者ID:bazelbuild,项目名称:bazel,代码行数:12,代码来源:RubyMap.java

示例4: createRubyOneofBuilderContext

import org.jruby.runtime.ObjectAllocator; //导入依赖的package包/类
public static void createRubyOneofBuilderContext(Ruby runtime) {
    RubyModule protobuf = runtime.getClassFromPath("Google::Protobuf");
    RubyModule internal = protobuf.defineModuleUnder("Internal");
    RubyClass cRubyOneofBuidlerContext = internal.defineClassUnder("OneofBuilderContext", runtime.getObject(), new ObjectAllocator() {
        @Override
        public IRubyObject allocate(Ruby ruby, RubyClass rubyClass) {
            return new RubyOneofBuilderContext(ruby, rubyClass);
        }
    });
    cRubyOneofBuidlerContext.defineAnnotatedMethods(RubyOneofBuilderContext.class);
}
 
开发者ID:bazelbuild,项目名称:bazel,代码行数:12,代码来源:RubyOneofBuilderContext.java

示例5: createRubyOneofDescriptor

import org.jruby.runtime.ObjectAllocator; //导入依赖的package包/类
public static void createRubyOneofDescriptor(Ruby runtime) {
    RubyModule protobuf = runtime.getClassFromPath("Google::Protobuf");
    RubyClass cRubyOneofDescriptor = protobuf.defineClassUnder("OneofDescriptor", runtime.getObject(), new ObjectAllocator() {
        @Override
        public IRubyObject allocate(Ruby ruby, RubyClass rubyClass) {
            return new RubyOneofDescriptor(ruby, rubyClass);
        }
    });
    cRubyOneofDescriptor.defineAnnotatedMethods(RubyOneofDescriptor.class);
    cRubyOneofDescriptor.includeModule(runtime.getEnumerable());
}
 
开发者ID:bazelbuild,项目名称:bazel,代码行数:12,代码来源:RubyOneofDescriptor.java


注:本文中的org.jruby.runtime.ObjectAllocator类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。