/** * Apply transformers on transform. * * @param translators the translators * @param classLoader the classloader * @param className the class name * @param byteCode the byte code * @param protectionDomain the protection domain * @return trabsformed bytes * @throws Exception for any error */ public static byte[] applyTranslatorsOnTransform(List<Translator> translators, ClassLoader classLoader, String className, byte[] byteCode, ProtectionDomain protectionDomain) throws Exception { if (translators == null || translators.isEmpty()) return byteCode; boolean trace = log.isTraceEnabled(); byte[] result = byteCode; for (Translator translator : translators) { // sanity check if (translator == null) { if (trace) log.trace("Null translator, classLoader: " + classLoader + ", className: " + className); continue; } result = translator.transform(classLoader, className, null, protectionDomain, result); } return result; }
/** * Apply transformers on transform. * * @param translators the translators * @param classLoader the classloader * @param className the class name * @param byteCode the byte code * @param protectionDomain the protection domain * @return trabsformed bytes * @throws Exception for any error */ public static byte[] applyTranslatorsOnTransform(List<Translator> translators, ClassLoader classLoader, String className, byte[] byteCode, ProtectionDomain protectionDomain) throws Exception { if (translators == null || translators.isEmpty()) return byteCode; boolean trace = log.isTraceEnabled(); byte[] result = byteCode; for (Translator translator : translators) { // sanity check if (translator == null) { if (trace) log.trace("Null translator, classLoader: " + classLoader + ", className: " + className); continue; } result = translator.transform(classLoader, className, null, protectionDomain, result); } return result; }
URL codeSourceUrl = getCodeSourceURL(name, classUrl); ProtectionDomain pd = getProtectionDomain(codeSourceUrl); byte[] bytecode = translator.transform(this, name, null, pd, rawcode);
URL codeSourceUrl = getCodeSourceURL(name, classUrl); ProtectionDomain pd = getProtectionDomain(codeSourceUrl); byte[] bytecode = translator.transform(this, name, null, pd, rawcode);