/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * The contents of this file are subject to the Netscape Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/NPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is mozilla.org code. * * The Initial Developer of the Original Code is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1998 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): */ // NetscapeApplet.java package com.netscape.jsdebugging.jslogger; import netscape.application.*; import netscape.util.*; public class JSLoggerAsIFCApplet extends FoundationApplet { /** This method must be implemented by the applet developer because * there is no way in the standard Java API for system classes (such as, * netscape.application) to look up an applet's class by name. The * static method Class.forName() simply looks up one level in the * stack and gets the ClassLoader associated with the method block of the * caller. *

* When the netscape.application classes are installed as * system classes, the ClassLoader is null. Thus, when code in * netscape.application calls Class.forName() it can only find * other system classes. *

* The solution is an API that allows code to * find the ClassLoader for an applet by URL, and a public API on * ClassLoader to ask it to load classes by name. Until those * enhancements can be made and distributed to all the world's Java * systems, applets must subclass FoundationApplet and * implement the following one-line method: *

      *     public abstract Class classForName(String className)
      *         throws ClassNotFoundException {
      *         return Class.forName(className);
      *     }
      * 
*/ public Class classForName(String className) throws ClassNotFoundException { return Class.forName(className); } }