Java 从BIRT引擎API获取报告模板参数类型

Java 从BIRT引擎API获取报告模板参数类型,java,birt,Java,Birt,我正在通过提供的Java引擎呈现我的BIRT报告。我使用这个库是为了: org.eclipse.birt.runtime viewservlets 4.5.0 但是,我的报告参数是通过HTTP请求提供的,在HTTP请求中我指定要使用的模板以及报告参数。因此,当我从URL检索它们时,我不再知道它们的类型,因为它们被转换为字符串,所以我想知道给定报表模板中标量参数的类型,以便将参数转换为它们的具体类型 IReportRunnable runnable = engine.openReportDes

我正在通过提供的Java引擎呈现我的BIRT报告。我使用这个库是为了:


org.eclipse.birt.runtime
viewservlets
4.5.0
但是,我的报告参数是通过HTTP请求提供的,在HTTP请求中我指定要使用的模板以及报告参数。因此,当我从URL检索它们时,我不再知道它们的类型,因为它们被转换为字符串,所以我想知道给定报表模板中标量参数的类型,以便将参数转换为它们的具体类型

IReportRunnable runnable = engine.openReportDesign(design);
IRunAndRenderTask task = engine.createRunAndRenderTask(runnable);
task.run();

当我使用这段代码从模板呈现报告时,是否有某种方法可以从
IReportRunnable
IRunAndRenderTask
检索标量参数类型?由于参数是在模板文件中声明的,并且是XML文件,因此它们是可以解析的,但是最好知道引擎API是否支持这一点。

刚刚找到它,不过看起来有点棘手。我们需要在runnable元素上创建一个参数定义任务:

IReportRunnable runnable = engine.openReportDesign(design);
IGetParameterDefinitionTask paramTask = engine.createGetParameterDefinitionTask(runnable);
然后,我们通过参数名访问定义,我们可以获得参数的类型值(即“字符串”):

paramTask.getParameterDefn("my_parameter_name").getHandle().getElement()
    .getProperty(null, "dataType").toString();