【问题标题】:XStream changing general alias convention [duplicate]XStream更改一般别名约定[重复]
【发布时间】:2016-08-25 23:07:02
【问题描述】:

现在 XStream 使用 class.getName() 作为别名,但我想使用 class.getSimpleName()。是否可以轻松配置它,还是我必须手动配置所有类才能使用 simpleName?

【问题讨论】:

    标签: java xstream


    【解决方案1】:

    问题是,您的映射应该双向工作,因此您可以根据简单名称找到类。既然这不是微不足道的,你应该自己做点什么。我可以看到基本上有两种方法可以做到这一点。

    1。注册别名

    由于您已经知道您将使用哪些类(因为如果您不知道,您将无法找到带有简单名称的类),您可以为所有类注册别名喜欢

    xtream.register("Simple", net.difficult.package.name.Simple.class);
    

    2。创建自定义映射器

    如果您出于某种原因不想注册别名,您可以将映射器包装在您自己的映射器中(例如,参见AbstractXmlFriendlyMapper 了解此基础),但您仍然需要一些找出哪个类属于哪个短名称的方法。

    【讨论】:

      猜你喜欢
      • 2019-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 2020-11-02
      • 2011-12-07
      相关资源
      最近更新 更多