1 /* 2 * The contents of this file are subject to the terms of the Common Development 3 * and Distribution License (the License). You may not use this file except in 4 * compliance with the License. 5 * 6 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html 7 * or http://www.netbeans.org/cddl.txt. 8 * 9 * When distributing Covered Code, include this CDDL Header Notice in each file 10 * and include the License file at http://www.netbeans.org/cddl.txt. 11 * If applicable, add the following below the CDDL Header, with the fields 12 * enclosed by brackets [] replaced by your own identifying information: 13 * "Portions Copyrighted [year] [name of copyright owner]" 14 * 15 * The Original Software is NetBeans. The Initial Developer of the Original 16 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun 17 * Microsystems, Inc. All Rights Reserved. 18 */ 19 20 package org.netbeans.mdr.handlers; 21 22 /** 23 * @author Martin Matula 24 */ 25 public interface ClassLoaderProvider { 26 /** Implementation of this method should return a classloader that MDR will use 27 * for resolving JMI interfaces/classes and classes that implement derived 28 * attributes and operations. 29 * @return classloader 30 */ 31 public ClassLoader getClassLoader(); 32 33 /** Implementation of this method can define a given class. 34 * The defined class should be then visible from the ClassLoader returned 35 * from {@link #getClassLoader} method. 36 * @param className name of the class to define. 37 * @param classFile array of bytes representing the class. 38 * @return Defined class or null (if null is return, MDR will define the 39 * class in its own classloader. This class will then not be accessible from outside 40 * of MDR 41 * @throws ClassFormatError 42 */ 43 public Class defineClass(String className, byte[] classFile); 44 } 45