package com.meituan.robust.autopatch; import com.meituan.robust.Constants; import java.util.HashMap; /** * Created by mivanzhang on 17/2/10. * <p> * manager patches' name ,inline patch name */ public class NameManger { private static NameManger nameManger; private HashMap<String, String> patchNameMap = new HashMap(); private NameManger() { } public static void init() { nameManger = new NameManger(); } public static NameManger getInstance() { if (nameManger == null) { nameManger = new NameManger(); } return nameManger; } public HashMap<String, String> getPatchNameMap() { return patchNameMap; } /*** * @param className java class name java.lang.object * @return patchname.object */ public String getPatchName(String className) { String patchName = getPatchNamWithoutRecord(className); patchNameMap.put(patchName, className); return patchName; } public String getInlinePatchName(String className) { String patchName = getInlinePatchNameWithoutRecord(className); patchNameMap.put(patchName, className); return patchName; } public String getInlinePatchNameWithoutRecord(String className) { String patchName = Config.patchPackageName + "." + className.substring(className.lastIndexOf(".") + 1) + Constants.INLINE_PATCH_SUFFIX; return patchName; } public String getPatchNamWithoutRecord(String className) { String patchName = Config.patchPackageName + "." + className.substring(className.lastIndexOf(".") + 1) + Constants.PATCH_SUFFIX; return patchName; } public String getPatchControlName(String simpleClassName) { return Config.patchPackageName + "." + simpleClassName + Constants.PATCH_SUFFIX + Constants.PATCH_CONTROL_SUFFIX; } public String getAssistClassName(String s) { patchNameMap.put(s + Constants.ROBUST_ASSIST_SUFFIX, s + Constants.ROBUST_ASSIST_SUFFIX); return s + Constants.ROBUST_ASSIST_SUFFIX; } }