M2DOC - 如何在 Java 服务中获取参数

M2DOC - how to get parameter in Java service

我在 M2DOC 我的模板中写了一个 Java 服务,我这样称呼它:

{m:for pc | self.eAllContents(pa::PhysicalComponent)->select(p|p.name.equalsIgnoreCase('the parameter')).eAllContents(pa::PhysicalComponent)}
 {m:pc.ServerTable()}
 {m:endfor}

因为我不知道如何在我的 java 服务中获得 "the parameter"。

事实上,我想这样调用我的 Java 服务:

{m:for pc | self.eAllContents(pa::PhysicalComponent)}
 {m:pc.ServerTable()}
 {m:endfor}

并在 Java 服务中获取名称为 'the parameter' 的所有 PhysicalComponent,而不是在模板中。

有人可以帮我吗?

谢谢

当您为 M2Doc/AQL(M2Doc 使用的查询语言)编写 Java 服务时,Java 方法应该至少有一个参数,但您可以添加更多。您 Java 方法应该如下所示:

public SomeReturnType serverTable(PhysicalComponent component, String parameter) {
  ...
}

然后您可以在模板中这样调用它:

{m:pc.serverTable('the parameter')}