gpt4 book ai didi

java - 在哪里使用 @SuppressWarnings ("requestfactory")

转载 作者:行者123 更新时间:2023-12-02 02:33:32 26 4
gpt4 key购买 nike

我正在尝试使用 GWT 和 RequestFactory 构建一个简单的(只读)Web 应用程序,但我不知道如何摆脱以下警告:

warning: The domain type DDisplay is not default-instantiable. Calling RequestContext.create(DDisplayProxy.class) will cause a server error.

Add @SuppressWarnings("requestfactory") to dismiss.

问题是,我已将 @SuppressWarnings("requestfactory") 粘贴到每个可能相关的类、接口(interface)和方法上方,但我仍然收到此消息。

由于我的 requestfactory 是只读的,因此我不会调用 RequestContext.create,因此这不是问题。如果能够消除警告(无需创建 DDisplay 定位器类),那就太好了。

在服务器端,我有一个域对象 DDisplay 和一个 DAO、DDisplayService。

public class DDisplay {

public String getTitle () {
return "title";
}
}

public class DDisplayService {

public DDisplay getDisplayByUUID (String uuid) {
return new DDisplay ();
}
}

我有 RequestFactory 的以下内容:

@ProxyForName("com.foobar.server.display.DDisplay")
public interface DDisplayProxy extends EntityProxy {

String getTitle ();
}

public interface DisplayRequestFactory extends RequestFactory {

@ServiceName(
value="com.foobar.server.display.DDisplayService"
,locator="com.foobar.server.display.SpringServiceLocator"
)
public interface DisplayRequestContext extends RequestContext {
Request <DDisplayProxy> getDisplayByUUID (String id);
}

DisplayRequestContext display ();
}

谁能告诉我把 @SuppressWarnings("requestfactory") 放在哪里来消除这个错误?或者还有另一种方法可以做到这一点 - 我只需要添加一个从未使用过的定位器类吗?

谢谢

吉姆

最佳答案

通过阅读错误消息的来源,您似乎可以将其添加到您的 EntityProxy,DDisplayProxy。像这样的事情:

@SuppressWarnings("requestfactory")
@ProxyForName("com.foobar.server.display.DDisplay")
public interface DDisplayProxy extends EntityProxy {

String getTitle();
}

这是从阅读 com.google.web.bindery.requestfactory.apt.DomainChecker#visitType 的源代码中获得的,如果 currentTypeIsProxy 为 true 并且没有定位器,并且类型不是不可静态的,会发出警告。从 state.warn(...) 内部(给定代理类型元素),它检查该类型上是否存在 @SuppressWarnings 注释。

关于java - 在哪里使用 @SuppressWarnings ("requestfactory"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46738430/

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