代码之家  ›  专栏  ›  技术社区  ›  Burkhard

如何使用XStream忽略类型?

  •  2
  • Burkhard  · 技术社区  · 17 年前

    具有 XStream ,如何忽略已定义类型的序列化(例如,在序列化GUI时,我希望忽略所有swing类型)?

    或者如果我想忽略所有javax.*类型?


    伯克哈德

    1 回复  |  直到 10 年前
        1
  •  2
  •   Healthcarel Healthcarel    17 年前

    您需要为要忽略的类型编写自定义转换器。

    public class MyJLabelConverter implements Converter {
    
        @Override
        public void marshal(Object value, HierarchicalStreamWriter writer, MarshallingContext context) {
        }
    
        @Override
        public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
            return null;
        }
    
        @Override
        public boolean canConvert(Class clazz) {
            return clazz.equals(JLabel.class);
        }
    }
    

    并在以下地址注册:

    xstream.registerConverter(new MyJLabelConverter());
    
    推荐文章