手动触发Eclipse4(e4)class'es方法,它使用注射?

时间:2012-10-23 13:42:50

标签: eclipse-rcp e4

我有一个类,它注入了一个MApplication。这是一个处理程序。我想手动触发Handler的方法。

问题: 当我从另一个类手动实例化Handler时 - MApplication为null。我从allready触发Handler的类有一个MApplication注入,因此它不是一个生命周期问题。

问题: 如何在具有@Inject注释方法的类中触发方法?

2 个答案:

答案 0 :(得分:1)

以下是这一天。

    ManipulateModelhandler man = new ManipulateModelhandler();

    //inject the context into an object
    //IEclipseContext iEclipseContext was injected into this class
    ContextInjectionFactory.inject(man,iEclipseContext);

    man.execute();

答案 1 :(得分:1)

更短:

ContextInjectionFactory.make(ManipulateModelhandler.class, iEclipseContext).execute();

或者通过独立于其名称(框架的方式)执行带注释的方法:

ContextInjectionFactory.invoke(new ManipulateModelhandler(), Execute.class, iEclipseContext);