/** * Customizes a class file by replacing constant pools. * * @param templateClassName * The resource that contains the template class file. * @param replacements * A list of pair of strings that specify the substitution * {@code String[]{search_0, replace_0, search_1, replace_1, ..., search_n, replace_n } * * The search strings found in the constant pool will be replaced by the corresponding * replacement string. */ private static byte[] tailor( String templateClassName, String newClassName, String... replacements ) { InputStream resource; if(CLASS_LOADER!=null) resource = CLASS_LOADER.getResourceAsStream(templateClassName+".class"); else resource = ClassLoader.getSystemResourceAsStream(templateClassName+".class"); if(resource==null) return null; return ClassTailor.tailor(resource,templateClassName,newClassName,replacements); }
public static byte[] tailor( Class templateClass, String newClassName, String... replacements ) { String vmname = toVMClassName(templateClass); return tailor( SecureLoader.getClassClassLoader(templateClass).getResourceAsStream(vmname+".class"), vmname, newClassName, replacements ); }
/** * Customizes a class file by replacing constant pools. * * @param templateClassName * The resource that contains the template class file. * @param replacements * A list of pair of strings that specify the substitution * {@code String[]{search_0, replace_0, search_1, replace_1, ..., search_n, replace_n } * * The search strings found in the constant pool will be replaced by the corresponding * replacement string. */ private static byte[] tailor( String templateClassName, String newClassName, String... replacements ) { InputStream resource; if(CLASS_LOADER!=null) resource = CLASS_LOADER.getResourceAsStream(templateClassName+".class"); else resource = ClassLoader.getSystemResourceAsStream(templateClassName+".class"); if(resource==null) return null; return ClassTailor.tailor(resource,templateClassName,newClassName,replacements); }
public static byte[] tailor( Class templateClass, String newClassName, String... replacements ) { String vmname = toVMClassName(templateClass); return tailor( SecureLoader.getClassClassLoader(templateClass).getResourceAsStream(vmname+".class"), vmname, newClassName, replacements ); }
/** * Customizes a class file by replacing constant pools. * * @param templateClassName * The resource that contains the template class file. * @param replacements * A list of pair of strings that specify the substitution * {@code String[]{search_0, replace_0, search_1, replace_1, ..., search_n, replace_n } * * The search strings found in the constant pool will be replaced by the corresponding * replacement string. */ private static byte[] tailor( String templateClassName, String newClassName, String... replacements ) { InputStream resource; if(CLASS_LOADER!=null) resource = CLASS_LOADER.getResourceAsStream(templateClassName+".class"); else resource = ClassLoader.getSystemResourceAsStream(templateClassName+".class"); if(resource==null) return null; return ClassTailor.tailor(resource,templateClassName,newClassName,replacements); }
/** * Customizes a class file by replacing constant pools. * * @param templateClassName * The resource that contains the template class file. * @param replacements * A list of pair of strings that specify the substitution * {@code String[]{search_0, replace_0, search_1, replace_1, ..., search_n, replace_n } * * The search strings found in the constant pool will be replaced by the corresponding * replacement string. */ private static byte[] tailor( String templateClassName, String newClassName, String... replacements ) { InputStream resource; if(CLASS_LOADER!=null) resource = CLASS_LOADER.getResourceAsStream(templateClassName+".class"); else resource = ClassLoader.getSystemResourceAsStream(templateClassName+".class"); if(resource==null) return null; return ClassTailor.tailor(resource,templateClassName,newClassName,replacements); }
public static byte[] tailor( Class templateClass, String newClassName, String... replacements ) { String vmname = toVMClassName(templateClass); return tailor( SecureLoader.getClassClassLoader(templateClass).getResourceAsStream(vmname+".class"), vmname, newClassName, replacements ); }
public static byte[] tailor( Class templateClass, String newClassName, String... replacements ) { String vmname = toVMClassName(templateClass); return tailor( SecureLoader.getClassClassLoader(templateClass).getResourceAsStream(vmname+".class"), vmname, newClassName, replacements ); }