outerclassmapper.java
来自「xstream是一个把java object序列化成xml文件的开源库,轻便好用」· Java 代码 · 共 58 行
JAVA
58 行
package com.thoughtworks.xstream.mapper;import com.thoughtworks.xstream.alias.ClassMapper;/** * Mapper that uses a more meaningful alias for the field in an inner class (this$0) that refers to the outer class. * * @author Joe Walnes */public class OuterClassMapper extends MapperWrapper { private final String alias; public OuterClassMapper(ClassMapper wrapped, String alias) { super(wrapped); this.alias = alias; } public OuterClassMapper(ClassMapper wrapped) { this(wrapped, "outer-class"); } public String serializedMember(Class type, String memberName) { if (memberName.equals("this$0")) { return alias; } else { return super.serializedMember(type, memberName); } } public String realMember(Class type, String serialized) { if (serialized.equals(alias)) { return "this$0"; } else { return super.realMember(type, serialized); } } // --- Maintain backwards compatability public String mapNameToXML(String javaName) { if (javaName.equals("this$0")) { return alias; } else { return super.mapNameToXML(javaName); } } public String mapNameFromXML(String xmlName) { if (xmlName.equals(alias)) { return "this$0"; } else { return super.mapNameFromXML(xmlName); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?