本文整理了Java中org.jruby.RubyModule.defineAnnotatedMethod
方法的一些代码示例,展示了RubyModule.defineAnnotatedMethod
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RubyModule.defineAnnotatedMethod
方法的具体详情如下:
包路径:org.jruby.RubyModule
类名称:RubyModule
方法名:defineAnnotatedMethod
暂无
代码示例来源:origin: org.jruby/jruby-core
public final boolean defineAnnotatedMethod(String name, List<JavaMethodDescriptor> methods, MethodFactory methodFactory) {
JavaMethodDescriptor desc = methods.get(0);
if (methods.size() == 1) {
return defineAnnotatedMethod(name, desc, methodFactory);
}
DynamicMethod dynamicMethod = methodFactory.getAnnotatedMethod(this, methods, name);
define(this, desc, name, dynamicMethod);
return true;
}
代码示例来源:origin: org.jruby/jruby-complete
public final boolean defineAnnotatedMethod(String name, List<JavaMethodDescriptor> methods, MethodFactory methodFactory) {
JavaMethodDescriptor desc = methods.get(0);
if (methods.size() == 1) {
return defineAnnotatedMethod(name, desc, methodFactory);
}
DynamicMethod dynamicMethod = methodFactory.getAnnotatedMethod(this, methods, name);
define(this, desc, name, dynamicMethod);
return true;
}
代码示例来源:origin: org.jruby/jruby-complete
public void defineAnnotatedMethod(Class clazz, String name) {
// FIXME: This is probably not very efficient, since it loads all methods for each call
boolean foundMethod = false;
for (Method method : clazz.getDeclaredMethods()) {
if (method.getName().equals(name) && defineAnnotatedMethod(method, MethodFactory.createFactory(getRuntime().getJRubyClassLoader()))) {
foundMethod = true;
}
}
if (!foundMethod) {
throw new RuntimeException("No JRubyMethod present for method " + name + "on class " + clazz.getName());
}
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
public void defineAnnotatedMethod(Class clazz, String name) {
// FIXME: This is probably not very efficient, since it loads all methods for each call
boolean foundMethod = false;
for (Method method : clazz.getDeclaredMethods()) {
if (method.getName().equals(name) && defineAnnotatedMethod(method, MethodFactory.createFactory(getRuntime().getJRubyClassLoader()))) {
foundMethod = true;
}
}
if (!foundMethod) {
throw new RuntimeException("No JRubyMethod present for method " + name + "on class " + clazz.getName());
}
}
代码示例来源:origin: org.jruby/jruby-core
public void defineAnnotatedMethod(Class clazz, String name) {
// FIXME: This is probably not very efficient, since it loads all methods for each call
boolean foundMethod = false;
for (Method method : clazz.getDeclaredMethods()) {
if (method.getName().equals(name) && defineAnnotatedMethod(method, MethodFactory.createFactory(getRuntime().getJRubyClassLoader()))) {
foundMethod = true;
}
}
if (!foundMethod) {
throw new RuntimeException("No JRubyMethod present for method " + name + "on class " + clazz.getName());
}
}
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
public void defineAnnotatedMethod(Class clazz, String name) {
// FIXME: This is probably not very efficient, since it loads all methods for each call
boolean foundMethod = false;
for (Method method : clazz.getDeclaredMethods()) {
if (method.getName().equals(name) && defineAnnotatedMethod(method, MethodFactory.createFactory(getRuntime().getJRubyClassLoader()))) {
foundMethod = true;
}
}
if (!foundMethod) {
throw new RuntimeException("No JRubyMethod present for method " + name + "on class " + clazz.getName());
}
}
代码示例来源:origin: org.jruby/jruby-complete
public void populate(final RubyModule target, final Class clazz) {
assert clazz == this.clazz : "populator for " + this.clazz + " used for " + clazz;
// fallback on non-pregenerated logic
// populate method index; this is done statically in generated code
AnnotationHelper.populateMethodIndex(clumper.readGroups, MethodIndex::addMethodReadFieldsPacked);
AnnotationHelper.populateMethodIndex(clumper.writeGroups, MethodIndex::addMethodWriteFieldsPacked);
final Ruby runtime = target.getRuntime();
final MethodFactory methodFactory = MethodFactory.createFactory(runtime.getJRubyClassLoader());
for (Map.Entry<String, List<JavaMethodDescriptor>> entry : clumper.getStaticAnnotatedMethods().entrySet()) {
final String name = entry.getKey();
final List<JavaMethodDescriptor> methods = entry.getValue();
target.defineAnnotatedMethod(name, methods, methodFactory);
addBoundMethodsUnlessOmitted(runtime, name, methods);
}
for (Map.Entry<String, List<JavaMethodDescriptor>> entry : clumper.getAnnotatedMethods().entrySet()) {
final String name = entry.getKey();
final List<JavaMethodDescriptor> methods = entry.getValue();
target.defineAnnotatedMethod(name, methods, methodFactory);
addBoundMethodsUnlessOmitted(runtime, name, methods);
}
}
代码示例来源:origin: org.jruby/jruby-core
public void populate(final RubyModule target, final Class clazz) {
assert clazz == this.clazz : "populator for " + this.clazz + " used for " + clazz;
// fallback on non-pregenerated logic
// populate method index; this is done statically in generated code
AnnotationHelper.populateMethodIndex(clumper.readGroups, MethodIndex::addMethodReadFieldsPacked);
AnnotationHelper.populateMethodIndex(clumper.writeGroups, MethodIndex::addMethodWriteFieldsPacked);
final Ruby runtime = target.getRuntime();
final MethodFactory methodFactory = MethodFactory.createFactory(runtime.getJRubyClassLoader());
for (Map.Entry<String, List<JavaMethodDescriptor>> entry : clumper.getStaticAnnotatedMethods().entrySet()) {
final String name = entry.getKey();
final List<JavaMethodDescriptor> methods = entry.getValue();
target.defineAnnotatedMethod(name, methods, methodFactory);
addBoundMethodsUnlessOmitted(runtime, name, methods);
}
for (Map.Entry<String, List<JavaMethodDescriptor>> entry : clumper.getAnnotatedMethods().entrySet()) {
final String name = entry.getKey();
final List<JavaMethodDescriptor> methods = entry.getValue();
target.defineAnnotatedMethod(name, methods, methodFactory);
addBoundMethodsUnlessOmitted(runtime, name, methods);
}
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
for (JavaMethodDescriptor desc : entry.getValue()) {
if (!desc.anno.omit()) runtime.addBoundMethod(desc.declaringClassName, desc.name, entry.getKey());
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
for (JavaMethodDescriptor desc : entry.getValue()) {
if (!desc.anno.omit()) runtime.addBoundMethod(desc.declaringClassName, desc.name, entry.getKey());
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
for (JavaMethodDescriptor desc : entry.getValue()) {
if (!desc.anno.omit()) runtime.addBoundMethod(desc.declaringClassName, desc.name, entry.getKey());
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
for (JavaMethodDescriptor desc : entry.getValue()) {
if (!desc.anno.omit()) runtime.addBoundMethod(desc.declaringClassName, desc.name, entry.getKey());
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
for (JavaMethodDescriptor desc : entry.getValue()) {
if (!desc.anno.omit()) runtime.addBoundMethod(desc.declaringClassName, desc.name, entry.getKey());
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
for (JavaMethodDescriptor desc : entry.getValue()) {
if (!desc.anno.omit()) runtime.addBoundMethod(desc.declaringClassName, desc.name, entry.getKey());
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
for (JavaMethodDescriptor desc : entry.getValue()) {
if (!desc.anno.omit()) runtime.addBoundMethod(desc.declaringClassName, desc.name, entry.getKey());
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
public boolean defineAnnotatedMethod(String name, List<JavaMethodDescriptor> methods, MethodFactory methodFactory) {
JavaMethodDescriptor desc = methods.get(0);
if (methods.size() == 1) {
return defineAnnotatedMethod(name, desc, methodFactory);
} else {
CompatVersion compatVersion = getRuntime().getInstanceConfig().getCompatVersion();
if (shouldBindMethod(compatVersion, desc.anno.compat())) {
DynamicMethod dynamicMethod = methodFactory.getAnnotatedMethod(this, methods);
define(this, desc, name, dynamicMethod);
return true;
}
return false;
}
}
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
for (JavaMethodDescriptor desc : entry.getValue()) {
if (!desc.anno.omit()) runtime.addBoundMethod(desc.declaringClassName, desc.name, entry.getKey());
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
for (JavaMethodDescriptor desc : entry.getValue()) {
if (!desc.anno.omit()) runtime.addBoundMethod(desc.declaringClassName, desc.name, entry.getKey());
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
for (JavaMethodDescriptor desc : entry.getValue()) {
if (!desc.anno.omit()) runtime.addBoundMethod(desc.declaringClassName, desc.name, entry.getKey());
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
for (JavaMethodDescriptor desc : entry.getValue()) {
if (!desc.anno.omit()) runtime.addBoundMethod(desc.declaringClassName, desc.name, entry.getKey());
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
for (JavaMethodDescriptor desc : entry.getValue()) {
if (!desc.anno.omit()) runtime.addBoundMethod(desc.declaringClassName, desc.name, entry.getKey());
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
for (JavaMethodDescriptor desc : entry.getValue()) {
if (!desc.anno.omit()) runtime.addBoundMethod(desc.declaringClassName, desc.name, entry.getKey());
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
for (JavaMethodDescriptor desc : entry.getValue()) {
if (!desc.anno.omit()) runtime.addBoundMethod(desc.declaringClassName, desc.name, entry.getKey());
clsmod.defineAnnotatedMethod(entry.getKey(), entry.getValue(), methodFactory);
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
public boolean defineAnnotatedMethod(String name, List<JavaMethodDescriptor> methods, MethodFactory methodFactory) {
JavaMethodDescriptor desc = methods.get(0);
if (methods.size() == 1) {
return defineAnnotatedMethod(name, desc, methodFactory);
} else {
CompatVersion compatVersion = getRuntime().getInstanceConfig().getCompatVersion();
if (shouldBindMethod(compatVersion, desc.anno.compat())) {
DynamicMethod dynamicMethod = methodFactory.getAnnotatedMethod(this, methods);
define(this, desc, name, dynamicMethod);
return true;
}
return false;
}
}
内容来源于网络,如有侵权,请联系作者删除!