mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			95 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Java
		
	
	
	
// ClassLoader.java - Define policies for loading Java classes.
 | 
						|
 | 
						|
/* Copyright (C) 1998, 1999  Cygnus Solutions
 | 
						|
 | 
						|
   This file is part of libgcj.
 | 
						|
 | 
						|
This software is copyrighted work licensed under the terms of the
 | 
						|
Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
 | 
						|
details.  */
 | 
						|
 | 
						|
package java.lang;
 | 
						|
import java.io.InputStream;
 | 
						|
import java.util.Hashtable;
 | 
						|
 | 
						|
/**
 | 
						|
 * @author Tom Tromey <tromey@cygnus.com>
 | 
						|
 * @date October 28, 1998 
 | 
						|
 */
 | 
						|
 | 
						|
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
 | 
						|
 * Status: Just a stub; not useful at all.
 | 
						|
 */
 | 
						|
 | 
						|
public abstract class ClassLoader
 | 
						|
{
 | 
						|
  protected ClassLoader ()
 | 
						|
    {
 | 
						|
      cache = new Hashtable ();
 | 
						|
    }
 | 
						|
 | 
						|
  protected final Class defineClass (String className, byte[] bytecode,
 | 
						|
				     int offset, int length)
 | 
						|
    {
 | 
						|
      throw new ClassFormatError ("defineClass unimplemented");
 | 
						|
    }
 | 
						|
 | 
						|
  protected final Class defineClass (byte[] bytecodes,
 | 
						|
				     int offset, int length)
 | 
						|
    {
 | 
						|
      return defineClass (null, bytecodes, offset, length);
 | 
						|
    }
 | 
						|
 | 
						|
  protected final Class findLoadedClass (String className)
 | 
						|
    {
 | 
						|
      return (Class) cache.get(className);
 | 
						|
    }
 | 
						|
 | 
						|
  protected final Class findSystemClass (String className)
 | 
						|
    throws ClassNotFoundException
 | 
						|
    {
 | 
						|
      Class c = system.findLoadedClass(className);
 | 
						|
      system.resolveClass(c);
 | 
						|
      return c;
 | 
						|
    }
 | 
						|
 | 
						|
  // FIXME: Needs URL.
 | 
						|
  // public URL getResource (String resName);
 | 
						|
 | 
						|
  public InputStream getResourceAsStream (String resName)
 | 
						|
    {
 | 
						|
      return null;
 | 
						|
    }
 | 
						|
 | 
						|
  // FIXME: Needs URL.
 | 
						|
  // public static final URL getSystemResource (String resName);
 | 
						|
 | 
						|
  public static final InputStream getSystemResourceAsStream (String resName)
 | 
						|
    {
 | 
						|
      return null;
 | 
						|
    }
 | 
						|
 | 
						|
  protected abstract Class loadClass (String className, boolean resolve)
 | 
						|
    throws ClassNotFoundException;
 | 
						|
  public Class loadClass (String name) throws ClassNotFoundException
 | 
						|
    {
 | 
						|
      return loadClass (name, true);
 | 
						|
    }
 | 
						|
 | 
						|
  protected final void resolveClass (Class c)
 | 
						|
    {
 | 
						|
      // Nothing for now.
 | 
						|
    }
 | 
						|
 | 
						|
  protected final void setSigners (Class cl, Object[] signers)
 | 
						|
    {
 | 
						|
      // Nothing for now.
 | 
						|
    }
 | 
						|
 | 
						|
  // Class cache.
 | 
						|
  private Hashtable cache;
 | 
						|
 | 
						|
  // The system class loader.  FIXME: should have an actual value
 | 
						|
  private static final ClassLoader system = null;
 | 
						|
}
 |