为某种类型设置转换器很容易(http://x-stream.github.io/javadoc/com/thoughtworks/xstream/XStream.html给出了一个例子):
xstream.registerConverter(new SqlTimestampConverter());
xstream.registerConverter(new DynamicProxyConverter());
我想注册一个转换器,但使用不同的元素名称。Converter 接口不提供元素的名称。
例如:如果元素名称(属性名称)为 in,则日期应转换为详细字符串,<longDate>
但如果 in 则较短<shortDate>
。如何根据属性名称添加不同的转换器?像 xstream.registerConverter(Class classtype, propertyname, converter) 这样的东西不存在,但会很好。
我知道我可以使用 PrettyPrintWriter 的专用版本,但这似乎对这个简单的工作很有用。还有其他想法吗?
顺便说一句:我可以使用注释 @XStreamConverter(XXX.class) 但我不想使用注释。我希望我的 bean 没有任何注释。