Создание PropertyDescriptor компонента с помощью JRuby - PullRequest
0 голосов
/ 13 августа 2010

Я пытаюсь портировать java на jruby, и он использует PropertyDescriptor bean-компонентов. Оригинальный код:

new PropertyDescriptor("splitEvaluator", CrossValidationResultProducer.class)

который я пытался портировать на:

PropertyDescriptor.new("splitEvaluator", CrossValidationResultProducer)

Однако я получаю сообщение об ошибке:

no constructor with arguments matching [class org.jruby.RubyString, class org.jruby.RubyClass] on object #<Java::JavaBeans::PropertyDescriptor:0x86f847> (NameError)

API-интерфейс PropertyDescriptor говорит, что вторым аргументом должен быть класс Java. Что мне нужно передать, чтобы это работало в JRuby?

Ответы [ 2 ]

0 голосов
/ 13 августа 2010

Я вижу аргумент, что это ошибка, которая не работает так, как вы ожидали.Или, по крайней мере, этот JRuby был бы достаточно умен, чтобы преобразовать представление класса Ruby класса Java в аргумент класса Java.

Как есть, использование #java_class, как вы выяснили, работает.

0 голосов
/ 13 августа 2010

Мне нужно использовать класс Java, а не представление Ruby класса Java. Это работает.

PropertyDescriptor.new("splitEvaluator", CrossValidationResultProducer.java_class)
...