0

Status我为来自 Twitter4J的类实现了一个代理客户端类。我在运行时收到以下错误:

域类型 twitter4j.internal.json.StatusJSONImpl 无法发送到客户端

这是因为我为抽象类创建了一个代理,Status而不是为StatusJSONImpl. 我看到我应该使用@ExtraTypes 注释,但是该类StatusJSONImpl是私有的,我无法从包外部引用它。我该如何解决这个问题?是否可以打开不告诉特定类的多态性?

4

1 回答 1

1

@ExtraTypesRequestContext用于以递归方式引用方法图及其参数和返回类型不直接引用的代理类型。例如,一个方法返回BaseProxy,其中您有两个子接口FooProxyBarProxy并且从未在任何地方引用。如果没有@ExtraTypes({ FooProxy.class, BarProxy.class }),RequestFactory 生成器将不会跨越它们的路径,因此不会将它们包含在客户端反序列化代码中,因此该方法永远不可能返回实现FooProxyor的对象BarProxy

在您的情况下,您似乎不需要@ExtraTypes,您只需要一个Locator<Status,Void>将在其方法中创建一个StatusJSONImpl对象的create方法(如果是,您不需要实现任何其他方法ValueProxy,只需抛出异常或返回 null)

于 2013-10-08T16:31:38.383 回答