Source for gnu.gcj.runtime.ExtensionClassLoader

   1: /* Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005  Free Software Foundation
   2: 
   3:    This file is part of libgcj.
   4: 
   5: This software is copyrighted work licensed under the terms of the
   6: Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
   7: details.  */
   8: 
   9: /* Author: Kresten Krab Thorup <krab@gnu.org>  */
  10: 
  11: package gnu.gcj.runtime;
  12: 
  13: import java.net.URL;
  14: 
  15: // The extension loader for libgcj.  Class loader bootstrap is a bit
  16: // tricky, see prims.cc and SystemClassLoader for some details.
  17: public final class ExtensionClassLoader extends HelperClassLoader
  18: {
  19:   private ExtensionClassLoader ()
  20:   {    
  21:   }
  22: 
  23:   private void init() 
  24:   {
  25:     addDirectoriesFromProperty("java.ext.dirs");
  26:   }
  27: 
  28:   // This can be package-private because we only call it from native
  29:   // code during startup.
  30:   static void initialize ()
  31:   {
  32:     instance.init();
  33:     system_instance.init();
  34:   }
  35: 
  36:   // The only ExtensionClassLoader that can exist.
  37:   static ExtensionClassLoader instance = new ExtensionClassLoader();
  38:   // The system class loader.
  39:   static SystemClassLoader system_instance = new SystemClassLoader(instance);
  40: }