Author: tcurdt Date: Wed Apr 20 10:39:17 2005 New Revision: 162029 URL: http://svn.apache.org/viewcvs?rev=162029&view=rev Log: prepare for configuration
Modified: jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/ContinuationClassLoader.java Modified: jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/ContinuationClassLoader.java URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/ContinuationClassLoader.java?rev=162029&r1=162028&r2=162029&view=diff ============================================================================== --- jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/ContinuationClassLoader.java (original) +++ jakarta/commons/sandbox/javaflow/trunk/src/java/org/apache/commons/javaflow/ContinuationClassLoader.java Wed Apr 20 10:39:17 2005 @@ -34,30 +34,46 @@ private ClassTransformer transformer = new BcelClassTransformer(); + private String[] excludeFromLoading = { + "java.", + "javax.", + "sun.", + "org.xml.", + "org.w3c.", + "org.apache.commons.logging" + }; + + private String[] includeInRewriting = { + "org.apache.commons.javaflow.testcode" + }; + public ContinuationClassLoader(ClassLoader parent) { super(parent); //Repository.setRepository(new ClassLoaderRepository(parent)); } + private boolean startsWithOneOf(final String[] prefixes, final String s) { + for (int i = 0; i < prefixes.length; i++) { + if (s.startsWith(prefixes[i])) { + return true; + } + } + return false; + } + protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException { Class c = findLoadedClass(name); if (c == null) { - if (!name.startsWith("java.") && - !name.startsWith("javax.") && - !name.startsWith("sun.") && - !name.startsWith("org.xml.") && - !name.startsWith("org.w3c.") && - !name.startsWith("org.apache.commons.logging.") - ) { + if (!startsWithOneOf(excludeFromLoading, name)) { final InputStream is = super.getResourceAsStream(name.replace('.','/') + ".class"); if (is != null) { - if (name.startsWith("org.apache.commons.javaflow.testcode")) { + if (startsWithOneOf(includeInRewriting, name)) { //log.debug("transforming " + name); final byte data[] = transformer.transform(is); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]