diff --git a/src/main/java/org/parabot/core/asm/redirect/ClassLoaderRedirect.java b/src/main/java/org/parabot/core/asm/redirect/ClassLoaderRedirect.java index 5a771a4..54bc5d5 100644 --- a/src/main/java/org/parabot/core/asm/redirect/ClassLoaderRedirect.java +++ b/src/main/java/org/parabot/core/asm/redirect/ClassLoaderRedirect.java @@ -1,15 +1,53 @@ package org.parabot.core.asm.redirect; +import org.parabot.core.Core; import org.parabot.core.asm.RedirectClassAdapter; -public class ClassLoaderRedirect { - +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.util.Enumeration; + +public class ClassLoaderRedirect extends ClassLoader { + + static int count = 0; + public static ClassloadClass(ClassLoader c,String name){ throw RedirectClassAdapter.createSecurityException(); } - static int count = 0; + public static ClassLoader getParent(ClassLoader c){ throw RedirectClassAdapter.createSecurityException(); } + public static URL getResource(ClassLoader classLoader, String name) { + Core.verbose("#getResource requested for ClassLoaderRedirect (" + name + ")"); + return classLoader.getResource(name); + } + + public static Enumeration getResources(ClassLoader classLoader, String name) throws IOException { + Core.verbose("#getResource requested for ClassLoaderRedirect (" + name + ")"); + return classLoader.getResources(name); + } + + public static InputStream getResourceAsStream(ClassLoader classLoader, String name) { + Core.verbose("#getResourceAsStream requested for ClassLoaderRedirect (" + name + ")"); + return classLoader.getResourceAsStream(name); + } + + public static void setDefaultAssertionStatus(ClassLoader classLoader, boolean enabled) { + + } + + public static void setPackageAssertionStatus(ClassLoader classLoader, String packageName, boolean enabled) { + + } + + public static void setClassAssertionStatus(ClassLoader classLoader, String className, boolean enabled) { + + } + + public static void clearAssertionStatus(ClassLoader classLoader) { + + } }