我谷歌波机器人,在onDocumentChanged事件我想要应用一个过滤器如下:

@Capability(filter = FILTER)
@Override
public void onDocumentChanged(DocumentChangedEvent event) {
    ...
}

我要过滤以产生第一次机器人,是运行,其中我想要做如下:

private static final String FILTER = generateFilter();

private static final String generateFilter(){
    ...
}

然而,它抱怨过滤器不一定表时使用的内@的能力。

generateFilter()将返回同一串每次调,我只是用它来创建串这样,当我做出改变,我不需要担心的更新的过滤器。

现在我可能会有关这一切都错了,所以想知道,如果任何人知道我在做什么错误的、或者知道一个更好的办法在哪我可以产生一定的表达自的功能。

有帮助吗?

解决方案

我不熟悉的与谷歌的浪潮,而是一个 静态的初始化 可能是可以接受,因为示 在这里, 并概述如下。

private static final String FILTER;
static { FILTER = "..."; }

增编:在仔细审查,这种方法是 可能的,因为一个 注释值 必须(除其他事项外)一个 恒的表达.

其他提示

在编译器需要在编译时标注的含量的不同价值和你的初始化会发生,我认为在应用程序初始化时间。

您也许可以做这样的:

private static final String FILTER = "YOUR STRING";

private static final String generateFilter() {
   return FILTER;
}

如果您需要更改它,而不是这样,担心你会去的方法,并从那里到恒定值:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top