defaultmapper.java

来自「xstream是一个把java object序列化成xml文件的开源库,轻便好用」· Java 代码 · 共 111 行

JAVA
111
字号
package com.thoughtworks.xstream.mapper;import com.thoughtworks.xstream.alias.CannotResolveClassException;import com.thoughtworks.xstream.alias.ClassMapper;/** * Default mapper implementation with 'vanilla' functionality. To build up the functionality required, wrap this mapper * with other mapper implementations. * * @author Joe Walnes */public class DefaultMapper extends MapperWrapper {    private final ClassLoader classLoader;    private final String classAttributeIdentifier;    public DefaultMapper(ClassLoader classLoader) {        this(classLoader, "class");    }    public DefaultMapper(ClassLoader classLoader, String classAttributeIdentifier) {        super(null);        this.classLoader = classLoader;        this.classAttributeIdentifier = classAttributeIdentifier == null ? "class" : classAttributeIdentifier;    }    public String serializedClass(Class type) {        return type.getName();    }    public Class realClass(String elementName) {        try {            return classLoader.loadClass(elementName);        } catch (ClassNotFoundException e) {            throw new CannotResolveClassException(elementName + " : " + e.getMessage());        }    }    public Class lookupDefaultType(Class baseType) {        return baseType;    }    public Class defaultImplementationOf(Class type) {        return type;    }    public String attributeForClassDefiningField() {        return "defined-in";    }    public String attributeForReadResolveField() {        return "resolves-to";    }    public String attributeForEnumType() {        return "enum-type";    }    public String attributeForImplementationClass() {        return classAttributeIdentifier;    }    public boolean isImmutableValueType(Class type) {        return false;    }    public String getFieldNameForItemTypeAndName(Class definedIn, Class itemType, String itemFieldName) {        return null;    }    public Class getItemTypeForItemFieldName(Class definedIn, String itemFieldName) {        return null;    }    public ImplicitCollectionMapping getImplicitCollectionDefForFieldName(Class itemType, String fieldName) {        return null;    }    public boolean shouldSerializeMember(Class definedIn, String fieldName) {        return true;    }    public String lookupName(Class type) {        return serializedClass(type);    }    public Class lookupType(String elementName) {        return realClass(elementName);    }    public String serializedMember(Class type, String memberName) {        return memberName;    }    public String realMember(Class type, String serialized) {        return serialized;    }    public String mapNameFromXML(String xmlName) {        return xmlName;    }    public String mapNameToXML(String javaName) {        return javaName;    }    public void alias(String elementName, Class type, Class defaultImplementation) {    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?