gpt4 book ai didi

java - 关于如何在 Eclipse 4 中使用 IContextFunction 的示例

转载 作者:行者123 更新时间:2023-11-30 07:22:01 25 4
gpt4 key购买 nike

我阅读了有关 org.eclipse.e4.core.contexts.IContextFunction 的内容,但无法在网上找到实际示例。
我的理解是,一个组件实现了一个IContextFunction,并在调用compute 时延迟创建了另一个对象。
但是我不清楚如何/何时调用 compute 方法。
例如以下内容:

<?xml version="1.0" encoding="UTF-8"?>  
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0"
name="com.example.e4.rcp.todo.contextservice.translate">

<implementation class="com.example.e4.rcp.todo.contextservice.Test"/>

<service>
<provide interface="org.eclipse.e4.core.contexts.IContextFunction"/>
</service>

<property name="service.context.key" type="String"
value="com.example.e4.rcp.todo.contextservice.test"/>

</scr:component>

必须有人调用 com.example.e4.rcp.todo.contextservice.test 才能调用 compute 但我不清楚它是如何使用的.
有人有示例引用吗?

最佳答案

这是注入(inject)到您的 pojo 中的内容。例如

public class YourPojo {
@Inject
@Named("com.example.e4.rcp.todo.contextservice.test")
private Object yourObject;
}

public class YourPojo {
@Inject
public void test(IEclipseContext ctx) {
Object yourObject = ctx.get("com.example.e4.rcp.todo.contextservice.test");
}
}

public class YourPojo {
@Inject
public void test(@Named("com.example.e4.rcp.todo.contextservice.test") Object yourObject) {
// consume yourObject
}
}

关于java - 关于如何在 Eclipse 4 中使用 IContextFunction 的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12996698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com