Как игнорировать тип с XStream? - PullRequest
2 голосов
/ 30 ноября 2008

с XStream , как я могу игнорировать сериализацию определенного типа (например, при сериализации графического интерфейса я хочу игнорировать все типы свинга)?

Или если я хочу игнорировать все типы javax. *? 1005 *

Заранее спасибо,
Буркхард

1 Ответ

2 голосов
/ 30 ноября 2008

вам нужно написать собственный конвертер для типов, которые вы хотите игнорировать.

Например, если вы хотите игнорировать JLabels:

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());
...