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 + -
显示快捷键?