Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Javassist - call Method??? Не получается вызвать метод... 
:(
    Опции темы
Killer_13
  Дата 26.2.2012, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 12.1.2008
Где: Germany

Репутация: нет
Всего: 1



Значит, мучаюсь я с Javassist. Помаленьку начинаю понимать, что и к чему..

Вот.. сейчас застрял, и что-то никак не могу найти как вызвать метод из существующего(созданного) класса с помощью Javassist.

Код

import javassist.CannotCompileException;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.CtNewMethod;
import javassist.NotFoundException;

public class JavassistCode {
    private ClassPool pool;
    private CtClass ctClass;
    private CtMethod javassitMethod;
    private String expression = "x*x+x/2";
    private String method ="public double eval(double x){return{"+ expression +"};}";
    private MyFrame myframe;

    public JavassistCode(MyFrame myFrame) throws CannotCompileException, NotFoundException, SecurityException, NoSuchMethodException, InstantiationException, IllegalAccessException {

        this.myframe=myFrame;

        pool = ClassPool.getDefault();
        ctClass = pool.makeClass("javassistClass");
        
        javassitMethod = CtNewMethod.make(method, ctClass);
        ctClass.addMethod(javassitMethod);

        Class clazz = ctClass.toClass();
        
    }

}


Вот похожая статья на хабре, но я что-то не могу догнать, как там запускается метод и выдает результат.. :(
http://habrahabr.ru/blogs/java/69728/

Подскажите, что не так? Спасибо!


И еще вопросик, читаю по данной теме, одни пишут одно, а другие показывают совершенно другие примеры.

Мне нужно создать класс с помощью Javassist, потом связать его с другими объектами приложения...
Как показывает офф мануал - это возможно, а в одной статье читал, что это не возможно. :(
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0904 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.