Status
我为来自 Twitter4J的类实现了一个代理客户端类。我在运行时收到以下错误:
域类型 twitter4j.internal.json.StatusJSONImpl 无法发送到客户端
这是因为我为抽象类创建了一个代理,Status
而不是为StatusJSONImpl
. 我看到我应该使用@ExtraTypes 注释,但是该类StatusJSONImpl
是私有的,我无法从包外部引用它。我该如何解决这个问题?是否可以打开不告诉特定类的多态性?
Status
我为来自 Twitter4J的类实现了一个代理客户端类。我在运行时收到以下错误:
域类型 twitter4j.internal.json.StatusJSONImpl 无法发送到客户端
这是因为我为抽象类创建了一个代理,Status
而不是为StatusJSONImpl
. 我看到我应该使用@ExtraTypes 注释,但是该类StatusJSONImpl
是私有的,我无法从包外部引用它。我该如何解决这个问题?是否可以打开不告诉特定类的多态性?
@ExtraTypes
RequestContext
用于以递归方式引用方法图及其参数和返回类型不直接引用的代理类型。例如,一个方法返回BaseProxy
,其中您有两个子接口FooProxy
,BarProxy
并且从未在任何地方引用。如果没有@ExtraTypes({ FooProxy.class, BarProxy.class })
,RequestFactory 生成器将不会跨越它们的路径,因此不会将它们包含在客户端反序列化代码中,因此该方法永远不可能返回实现FooProxy
or的对象BarProxy
。
在您的情况下,您似乎不需要@ExtraTypes
,您只需要一个Locator<Status,Void>
将在其方法中创建一个StatusJSONImpl
对象的create
方法(如果是,您不需要实现任何其他方法ValueProxy
,只需抛出异常或返回 null)