2

XStreamを使用して、定義された Type のシリアル化を無視するにはどうすればよいですか (たとえば、GUI をシリアル化するときに、すべてのスイング タイプを無視したい)。

または、すべての javax.* タイプを無視したい場合は?

前もって感謝します、
バークハルト

4

1 に答える 1

2

無視したいタイプのカスタムコンバーターを作成する必要があります。

たとえば、JLabelを無視する場合:

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());
于 2008-11-30T15:28:47.747 に答える