我有一个带有参数化构造函数的类(Clock
)。我在插件中使用扩展名调用此Clock
类。
try {
for (IConfigurationElement e : config) {
System.out.println("Harsha Evaluating extension of Clock");
o = e.createExecutableExtension("class");
}
} catch (CoreException ex) {
System.out.println(ex.getMessage());
}
方法createExecutableExtenison
仅调用Clock
类的默认构造函数。如何调用Clock
类的参数化构造函数?
提前致谢。
答案 0 :(得分:1)
createExecutableExtension
的Javadoc说:
使用其0参数public实例化指定的类 构造
因此您无法使用参数化构造函数。
您可以让您的类实现IExecutableExtension
,在这种情况下使用方法:
public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException;
将在施工后直接调用。这可用于从配置元素中获取额外信息。