XStreamを使用して、定義された Type のシリアル化を無視するにはどうすればよいですか (たとえば、GUI をシリアル化するときに、すべてのスイング タイプを無視したい)。
または、すべての javax.* タイプを無視したい場合は?
前もって感謝します、
バークハルト
XStreamを使用して、定義された Type のシリアル化を無視するにはどうすればよいですか (たとえば、GUI をシリアル化するときに、すべてのスイング タイプを無視したい)。
または、すべての javax.* タイプを無視したい場合は?
前もって感謝します、
バークハルト
無視したいタイプのカスタムコンバーターを作成する必要があります。
たとえば、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());