使 XStream 忽略一个特定的私有变量
我目前正在为其编写保存函数的类有一个小问题。
我正在使用 XStream (com.thoughtworks.xstream) 通过 DOMDriver 将类序列化为 XML。
该类如下所示:
public class World {
private Configuration config;
public World(Configuration config) {
this.config = config;
}
}
因此,这里的问题是我不想在序列化 world 时序列化 Configuration,而是想在调用 fromXml() 时为 XStream 提供预构造的 Configuration 实例。
这里的问题主要是类设计,配置持有对 GUI 类的私有引用,因此序列化配置意味着使用 GUI 等完全序列化整个应用程序。这有点糟糕。
有没有办法指示 XStream 不要序列化私有字段配置,并在加载时为 XStream 提供要使用的配置实例?
问候丹尼尔
I have a little problem with a class I am currently writing a save function for.
I'm using XStream (com.thoughtworks.xstream) to serialize a class to XML using the DOMDriver.
The class looks like this:
public class World {
private Configuration config;
public World(Configuration config) {
this.config = config;
}
}
So, the issue here is that I do not want to serialize Configuration when serializing world, rather I'd like to give XStream a preconstructed Configuration instance when calling fromXml().
Problem here is mainly class design, Configuration holds a private reference to the GUI classes and therefore serializing Configuration means serializing the whole application completely with GUI etc.. And that's kind of bad.
Is there a way to instruct XStream to not serialize the private field config, and upon load supply XStream with a configuration instance to use?
greetings Daniel
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如文档所说: http://x-stream.github.io/annotations-tutorial .html(省略字段)您可以使用@XStreamOmitField注释来“忽略”字段。
As documentation says here: http://x-stream.github.io/annotations-tutorial.html (Omitting Fields) you can use @XStreamOmitField annotation to "ignore" fields.