Передача параметра Class <?> С использованием Rhino - PullRequest
4 голосов
/ 16 октября 2010

Я пытаюсь вызвать конструктор для пользовательского объекта коллекции.Этот пользовательский объект принимает параметр типа Class.

В Java это делается так:

ICollection col = new PersistentCollection(ContentX.class);

Это мое первое погружение в носорога, и я не смогчтобы понять, как передать этот параметр.Я понял, что «класс» является зарезервированным словом и поэтому не может использоваться.

Я понял, что могу получить класс из Class.forName следующим образом:

importPackage(Packages.something.collections);
importPackage(Packages.something.content4);
var col = new PersistentCollection(Class.forName(ContentX));

Но это просто бросаетClassNotFoundException - с полностью определенным путем что-то. Content4.ContentX!Очевидно, он нашел класс или не знал бы пути к нему.

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

Поиск в Google для класса javascript просто приводит к проблемам DOM / CSS.

1 Ответ

2 голосов
/ 16 октября 2010

Я думаю, вам просто нужно сделать:

var col = new PersistentCollection(ContentX);

Или, если ваше имя класса является строкой:

var col = new PersistentCollection(
        java.lang.Class.forName('something.content4.ContentX'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...