【发布时间】:2011-01-12 08:28:43
【问题描述】:
我正在为长类名创建别名...它工作得非常好,但其中一个序列化类是私有内部类。除了公开之外,我想不出一种方法来为其创建别名。我不喜欢这个解决方案,因为它首先不应该是公开的。但是,由于为其创建别名,因此无需修改 XML 文件就可以更改包名和类名(因为第一个标签是完全限定的类名)。
这就是我创建别名的方式:
xstreamInstance.alias("ClassAlias", OuterClass.InnerClassToAlias.class);
这就是为什么我需要对该内部类进行公共访问。
所以,如果有人知道给私有内部类起别名的技巧,我真的很想听听。
【问题讨论】:
-
我了解到XStream 有两种模式:Pure Java 和Enhanced。在增强模式下,XStream 接缝能够达到更多私有/内部/静态/等。成员比在纯 Java 模式下。但我相信,就我而言,我不能假设将运行我的代码的所有 JVM 都将受到 XStream 增强模式的支持(它取决于 JVM)。