package com.thoughtworks.xstream.mapper; /* loaded from: classes.dex */ public class AbstractXmlFriendlyMapper extends MapperWrapper { private char dollarReplacementInClass; private String dollarReplacementInField; private String noPackagePrefix; private String underscoreReplacementInField; protected AbstractXmlFriendlyMapper(Mapper mapper) { super(mapper); this.dollarReplacementInClass = '-'; this.dollarReplacementInField = "_DOLLAR_"; this.underscoreReplacementInField = "__"; this.noPackagePrefix = "default"; } private boolean stringFoundAt(String str, int i, String str2) { return str.length() >= str2.length() + i && str.substring(i, str2.length() + i).equals(str2); } protected String escapeClassName(String str) { String replace = str.replace('$', this.dollarReplacementInClass); if (replace.charAt(0) != this.dollarReplacementInClass) { return replace; } StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append(this.noPackagePrefix); stringBuffer.append(replace); return stringBuffer.toString(); } protected String escapeFieldName(String str) { StringBuffer stringBuffer = new StringBuffer(); int length = str.length(); for (int i = 0; i < length; i++) { char charAt = str.charAt(i); if (charAt == '$') { stringBuffer.append(this.dollarReplacementInField); } else if (charAt == '_') { stringBuffer.append(this.underscoreReplacementInField); } else { stringBuffer.append(charAt); } } return stringBuffer.toString(); } protected String unescapeClassName(String str) { StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append(this.noPackagePrefix); stringBuffer.append(this.dollarReplacementInClass); if (str.startsWith(stringBuffer.toString())) { str = str.substring(this.noPackagePrefix.length()); } return str.replace(this.dollarReplacementInClass, '$'); } protected String unescapeFieldName(String str) { StringBuffer stringBuffer = new StringBuffer(); int length = str.length(); int i = 0; while (i < length) { char charAt = str.charAt(i); if (stringFoundAt(str, i, this.underscoreReplacementInField)) { i += this.underscoreReplacementInField.length() - 1; stringBuffer.append('_'); } else if (stringFoundAt(str, i, this.dollarReplacementInField)) { i += this.dollarReplacementInField.length() - 1; stringBuffer.append('$'); } else { stringBuffer.append(charAt); } i++; } return stringBuffer.toString(); } }