/*******************************************************************************
* Copyright (c) 2006 Eclipse Foundation
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Bjorn Freeman-Benson - initial implementation
* Ward Cunningham - initial implementation
*******************************************************************************/
package org.eclipse.eclipsemonkey;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* MonkeyClassLoader
*/
public class MonkeyClassLoader extends ClassLoader {
List loaders = new ArrayList();
/**
* @param loader
*/
public void add(ClassLoader loader) {
loaders.add(loader);
}
/**
* @see java.lang.ClassLoader#loadClass(java.lang.String)
*/
public Class loadClass(String name) throws ClassNotFoundException {
Iterator iter = loaders.iterator();
while (iter.hasNext()) {
ClassLoader loader = (ClassLoader) iter.next();
try {
// ((EclipseClassLoader)loader).getDelegate();
Class clz = loader.loadClass(name);
if (clz != null) {
return clz;
}
} catch (ClassNotFoundException x) {
// continue the loop
}
}
throw new ClassNotFoundException(name);
}
}