Java Doc for ClassLoader.java in  » 6.0-JDK-Modules » j2me » java » lang » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » 6.0 JDK Modules » j2me » java.lang 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   java.lang.ClassLoader

All known Subclasses:   com.sun.xlet.ixc.IxcClassLoader,  java.security.SecureClassLoader,
ClassLoader
abstract public class ClassLoader (Code)
A class loader is an object that is responsible for loading classes. The class ClassLoader is an abstract class. Given the name of a class, a class loader should attempt to locate or generate data that constitutes a definition for the class. A typical strategy is to transform the name into a file name and then read a "class file" of that name from a file system.

Every Class Class object contains a Class.getClassLoader reference to the ClassLoader that defined it.

Class objects for array classes are not created by class loaders, but are created automatically as required by the Java runtime. The class loader for an array class, as returned by Class.getClassLoader is the same as the class loader for its element type; if the element type is a primitive type, then the array class has no class loader.

Applications implement subclasses of ClassLoader in order to extend the manner in which the Java virtual machine dynamically loads classes.

Class loaders may typically be used by security managers to indicate security domains.

The ClassLoader class uses a delegation model to search for classes and resources. Each instance of ClassLoader has an associated parent class loader. When requested to find a class or resource, a ClassLoader instance will delegate the search for the class or resource to its parent class loader before attempting to find the class or resource itself. The virtual machine's built-in class loader, called the "bootstrap class loader", does not itself have a parent but may serve as the parent of a ClassLoader instance.

Normally, the Java virtual machine loads classes from the local file system in a platform-dependent manner. For example, on UNIX systems, the virtual machine loads classes from the directory defined by the CLASSPATH environment variable.

However, some classes may not originate from a file; they may originate from other sources, such as the network, or they could be constructed by an application. The method ClassLoader.defineClass(String,byte[],int,int)defineClass converts an array of bytes into an instance of class Class. Instances of this newly defined class can be created using Class.newInstance Class.newInstance .

The methods and constructors of objects created by a class loader may reference other classes. To determine the class(es) referred to, the Java virtual machine invokes the ClassLoader.loadClass loadClass method of the class loader that originally created the class.

For example, an application could create a network class loader to download class files from a server. Sample code might look like:

 ClassLoader loader = new NetworkClassLoader(host, port);
 Object main = loader.loadClass("Main", true).newInstance();
  . . .
 

The network class loader subclass must define the methods ClassLoader.findClass findClass and loadClassData to load a class from the network. Once it has downloaded the bytes that make up the class, it should use the method ClassLoader.defineClass defineClass to create a class instance. A sample implementation is:

 class NetworkClassLoader extends ClassLoader {
 String host;
 int port;
 public Class findClass(String name) {
 byte[] b = loadClassData(name);
 return defineClass(name, b, 0, b.length);
 }
 private byte[] loadClassData(String name) {
 // load the class data from the connection
  . . .
 }
 }
 

version:
   1.163, 10/10/06
See Also:   ClassLoader.resolveClass(Class)
since:
   1.0

Inner Class :static class NativeLibrary

Field Summary
 MapclassAssertionStatus
    
 java.security.cert.Certificate[]nocerts
    

Constructor Summary
protected  ClassLoader(ClassLoader parent)
     Creates a new class loader using the specified parent class loader for delegation.

If there is a security manager, its SecurityManager.checkCreateClassLoadercheckCreateClassLoader method is invoked.

protected  ClassLoader()
     Creates a new class loader using the ClassLoader returned by the method ClassLoader.getSystemClassLoader()getSystemClassLoader() as the parent class loader.

If there is a security manager, its SecurityManager.checkCreateClassLoadercheckCreateClassLoader method is invoked.


Method Summary
 voidaddClass(Class c)
    
public synchronized  voidclearAssertionStatus()
     Sets the default assertion status for this class loader to false and discards any package defaults or class assertion status settings associated with the class loader.
final protected  ClassdefineClass(String name, byte[] b, int off, int len)
     Converts an array of bytes into an instance of class Class. Before the Class can be used it must be resolved.

This method assigns a default java.security.ProtectionDomainProtectionDomain to the newly defined class.

final protected  ClassdefineClass(String name, byte[] b, int off, int len, ProtectionDomain protectionDomain)
     Converts an array of bytes into an instance of class Class, with an optional ProtectionDomain.
protected  PackagedefinePackage(String name, String specTitle, String specVersion, String specVendor, String implTitle, String implVersion, String implVendor, URL sealBase)
     Defines a package by name in this ClassLoader.
synchronized  booleandesiredAssertionStatus(String className)
     Returns the assertion status that would be assigned to the specified class if it were to be initialized at the time this method is invoked. If the named class has had its assertion status set, the most recent setting will be returned; otherwise, if any package default assertion status pertains to this class, the most recent setting for the most specific pertinent package default assertion status is returned; otherwise, this class loader's default assertion status is returned.


Parameters:
  className - The fully qualified class name of the class whose desiredassertion status is being queried.
protected  ClassfindClass(String name)
     Finds the specified class.
protected  StringfindLibrary(String libname)
     Returns the absolute path name of a native library.
final protected  ClassfindLoadedClass(String name)
     Returns the class with the given name if this loader has been recorded by the Java virtual machine as an initiating loader of a class with that name.
static  longfindNative(ClassLoader loader, String name)
    
protected  URLfindResource(String name)
     Finds the resource with the given name.
protected  EnumerationfindResources(String name)
     Returns an enumeration of java.net.URL URL objects representing all the resources with the given name.
final protected  ClassfindSystemClass(String name)
     Finds a class with the specified name, loading it if necessary.

This method loads the class through the system class loader (see ClassLoader.getSystemClassLoader() ).

static  URLClassPathgetBootstrapClassPath()
    
native static  ClassLoadergetCallerClassLoader()
    
protected  PackagegetPackage(String name)
     Returns a Package that has been defined by this class loader or any of its ancestors.
protected  Package[]getPackages()
     Returns all of the Packages defined by this class loader and its ancestors.
final public  ClassLoadergetParent()
     Returns the parent class loader for delegation.
public  URLgetResource(String name)
     Finds the resource with the given name.
public  InputStreamgetResourceAsStream(String name)
     Returns an input stream for reading the specified resource.

The search order is described in the documentation for ClassLoader.getResource(String) .

final public  EnumerationgetResources(String name)
     Finds all the resources with the given name.
public static  ClassLoadergetSystemClassLoader()
     Returns the system class loader for delegation.
public static  URLgetSystemResource(String name)
     Find a resource of the specified name from the search path used to load classes.
public static  InputStreamgetSystemResourceAsStream(String name)
     Open for reading, a resource of the specified name from the search path used to load classes.
public static  EnumerationgetSystemResources(String name)
     Finds all resources of the specified name from the search path used to load classes.
 booleanisAncestor(ClassLoader cl)
    
static  ClassloadBootstrapClass(String name)
    
public  ClassloadClass(String name)
     Loads the class with the specified name.
protected synchronized  ClassloadClass(String name, boolean resolve)
     Loads the class with the specified name.
static  voidloadLibrary(Class fromClass, String name, boolean isAbsolute)
    
final protected  voidresolveClass(Class c)
     Links the specified class.
public synchronized  voidsetClassAssertionStatus(String className, boolean enabled)
     Sets the desired assertion status for the named top-level class in this class loader and any nested classes contained therein.
public synchronized  voidsetDefaultAssertionStatus(boolean enabled)
     Sets the default assertion status for this class loader.
public synchronized  voidsetPackageAssertionStatus(String packageName, boolean enabled)
     Sets the package default assertion status for the named package.
final protected  voidsetSigners(Class c, Object[] signers)
     Sets the signers of a class.

Field Detail
classAssertionStatus
Map classAssertionStatus(Code)



nocerts
java.security.cert.Certificate[] nocerts(Code)




Constructor Detail
ClassLoader
protected ClassLoader(ClassLoader parent)(Code)
Creates a new class loader using the specified parent class loader for delegation.

If there is a security manager, its SecurityManager.checkCreateClassLoadercheckCreateClassLoader method is invoked. This may result in a security exception.


Parameters:
  parent - The parent class loader
throws:
  SecurityException - If a security manager exists and itscheckCreateClassLoader method doesn't allow creationof a new class loader.
since:
   1.2



ClassLoader
protected ClassLoader()(Code)
Creates a new class loader using the ClassLoader returned by the method ClassLoader.getSystemClassLoader()getSystemClassLoader() as the parent class loader.

If there is a security manager, its SecurityManager.checkCreateClassLoadercheckCreateClassLoader method is invoked. This may result in a security exception.


throws:
  SecurityException - If a security manager exists and itscheckCreateClassLoader method doesn't allow creationof a new class loader.




Method Detail
addClass
void addClass(Class c)(Code)



clearAssertionStatus
public synchronized void clearAssertionStatus()(Code)
Sets the default assertion status for this class loader to false and discards any package defaults or class assertion status settings associated with the class loader. This method is provided so that class loaders can be made to ignore any command line or persistent assertion status settings and "start with a clean slate."


since:
   1.4



defineClass
final protected Class defineClass(String name, byte[] b, int off, int len) throws ClassFormatError(Code)
Converts an array of bytes into an instance of class Class. Before the Class can be used it must be resolved.

This method assigns a default java.security.ProtectionDomainProtectionDomain to the newly defined class. The ProtectionDomain is effectively granted the same set of permissions returned when java.security.Policy.getPermissions(java.security.CodeSource)Policy.getPolicy().getPermissions(new CodeSource(null, null)) is invoked. The default domain is created on the first invocation of ClassLoader.defineClass(String,byte[],int,int) defineClass , and re-used on subsequent invocations.

To assign a specific ProtectionDomain to the class, use the ClassLoader.defineClass(String,byte[],int,int,java.security.ProtectionDomain) defineClass method that takes a ProtectionDomain as one of its arguments.


Parameters:
  name - The expected name of the class, or nullif not known, using '.' and not '/' as theseparator and without a trailing .class suffix.
Parameters:
  b - The bytes that make up the class data. The bytes in positionsoff through off+len-1 should have the formatof a valid class file as defined by the Java VirtualMachine Specification.
Parameters:
  off - The start offset in b of the class data
Parameters:
  len - The length of the class data The Class object that was created from the specifiedclass data.
throws:
  ClassFormatError - If the data did not contain a valid class
throws:
  IndexOutOfBoundsException - If either off or len is negative, or ifoff+len is greater than b.length.
throws:
  SecurityException - If an attempt is made to add this class to a package thatcontains classes that were signed by a different set ofcertificates than this class (which is unsigned), or if theclass name begins with "java.".
See Also:   ClassLoader.loadClass(String,boolean)
See Also:   ClassLoader.resolveClass(Class)
See Also:   java.security.CodeSource
See Also:   java.security.SecureClassLoader
since:
   1.1



defineClass
final protected Class defineClass(String name, byte[] b, int off, int len, ProtectionDomain protectionDomain) throws ClassFormatError(Code)
Converts an array of bytes into an instance of class Class, with an optional ProtectionDomain. If the domain is null, then a default domain will be assigned to the class as specified in the documentation for ClassLoader.defineClass(String,byte[],int,int) . Before the class can be used it must be resolved.

The first class defined in a package determines the exact set of certificates that all subsequent classes defined in that package must contain. The set of certificates for a class is obtained from the java.security.CodeSource CodeSource within the ProtectionDomain of the class. Any classes added to that package must contain the same set of certificates or a SecurityException will be thrown. Note that if the name argument is null, this check is not performed. You should always pass in the name of the class you are defining as well as the bytes. This ensures that the class you are defining is indeed the class you think it is.

The specified class name cannot begin with "java.", since all classes in the "java.* packages can only be defined by the bootstrap class loader. If the name parameter is not null, it must be equal to the name of the class specified by the byte array "b", otherwise a NoClassDefFoundError will be thrown.


Parameters:
  name - The expected name of the class, or null if not known,using '.' and not '/' as the separator andwithout a trailing ".class" suffix.
Parameters:
  b - The bytes that make up the class data. The bytes in positionsoff through off+len-1 should have the formatof a valid class file as defined by the Java VirtualMachine Specification.
Parameters:
  off - The start offset in b of the class data
Parameters:
  len - The length of the class data
Parameters:
  protectionDomain - The ProtectionDomain of the class The Class object created from the data,and optional ProtectionDomain.
throws:
  ClassFormatError - If the data did not contain a valid class
throws:
  NoClassDefFoundError - If name is not equal to the name of the classspecified by b
throws:
  IndexOutOfBoundsException - If either off or len is negative, or ifoff+len is greater than b.length.
throws:
  SecurityException - If an attempt is made to add this class to a package thatcontains classes that were signed by a different set ofcertificates than this class, or if the class name begins with"java.".



definePackage
protected Package definePackage(String name, String specTitle, String specVersion, String specVendor, String implTitle, String implVersion, String implVendor, URL sealBase) throws IllegalArgumentException(Code)
Defines a package by name in this ClassLoader. This allows class loaders to define the packages for their classes. Packages must be created before the class is defined, and package names must be unique within a class loader and cannot be redefined or changed once created.


Parameters:
  name - The package name
Parameters:
  specTitle - The specification title
Parameters:
  specVersion - The specification version
Parameters:
  specVendor - The specification vendor
Parameters:
  implTitle - The implementation title
Parameters:
  implVersion - The implementation version
Parameters:
  implVendor - The implementation vendor
Parameters:
  sealBase - If not null, then this package is sealed withrespect to the given code source java.net.URLURL object. Otherwise, the package is not sealed. The newly defined Package object
throws:
  IllegalArgumentException - If package name duplicates an existing package either in thisclass loader or one of its ancestors
since:
   1.2



desiredAssertionStatus
synchronized boolean desiredAssertionStatus(String className)(Code)
Returns the assertion status that would be assigned to the specified class if it were to be initialized at the time this method is invoked. If the named class has had its assertion status set, the most recent setting will be returned; otherwise, if any package default assertion status pertains to this class, the most recent setting for the most specific pertinent package default assertion status is returned; otherwise, this class loader's default assertion status is returned.


Parameters:
  className - The fully qualified class name of the class whose desiredassertion status is being queried. The desired assertion status of the specified class.
See Also:   ClassLoader.setClassAssertionStatus(String,boolean)
See Also:   ClassLoader.setPackageAssertionStatus(String,boolean)
See Also:   ClassLoader.setDefaultAssertionStatus(boolean)
since:
   1.4



findClass
protected Class findClass(String name) throws ClassNotFoundException(Code)
Finds the specified class. This method should be overridden by class loader implementations that follow the delegation model for loading classes, and will be invoked by the ClassLoader.loadClassloadClass method after checking the parent class loader for the requested class. The default implementation throws a ClassNotFoundException.


Parameters:
  name - The name of the class The resulting Class object
throws:
  ClassNotFoundException - If the class could not be found
since:
   1.2



findLibrary
protected String findLibrary(String libname)(Code)
Returns the absolute path name of a native library. The VM invokes this method to locate the native libraries that belong to classes loaded with this class loader. If this method returns null, the VM searches the library along the path specified as the "java.library.path" property.


Parameters:
  libname - The library name The absolute path of the native library
See Also:   System.loadLibrary(String)
See Also:   System.mapLibraryName(String)
since:
   1.2



findLoadedClass
final protected Class findLoadedClass(String name)(Code)
Returns the class with the given name if this loader has been recorded by the Java virtual machine as an initiating loader of a class with that name. Otherwise null is returned.


Parameters:
  name - The class name The Class object, or null if the class hasnot been loaded
since:
   1.1



findNative
static long findNative(ClassLoader loader, String name)(Code)



findResource
protected URL findResource(String name)(Code)
Finds the resource with the given name. Class loader implementations should override this method to specify where to find resources.


Parameters:
  name - The resource name A URL object for reading the resource, ornull if the resource could not be found
since:
   1.2



findResources
protected Enumeration findResources(String name) throws IOException(Code)
Returns an enumeration of java.net.URL URL objects representing all the resources with the given name. Class loader implementations should override this method to specify where to load resources from.


Parameters:
  name - The resource name An enumeration of java.net.URL URL objects forthe resources
throws:
  IOException - If I/O errors occur
since:
   1.2



findSystemClass
final protected Class findSystemClass(String name) throws ClassNotFoundException(Code)
Finds a class with the specified name, loading it if necessary.

This method loads the class through the system class loader (see ClassLoader.getSystemClassLoader() ). The Class object returned might have more than one ClassLoader associated with it. Subclasses of ClassLoader need not usually invoke this method, because most class loaders need to override just ClassLoader.findClass(String) .


Parameters:
  name - The name of the class that is to be found The Class object for the specified name
throws:
  ClassNotFoundException - If the class could not be found
See Also:   ClassLoader.ClassLoader(ClassLoader)
See Also:   ClassLoader.getParent()



getBootstrapClassPath
static URLClassPath getBootstrapClassPath()(Code)



getCallerClassLoader
native static ClassLoader getCallerClassLoader()(Code)



getPackage
protected Package getPackage(String name)(Code)
Returns a Package that has been defined by this class loader or any of its ancestors.


Parameters:
  name - The package name The Package corresponding to the given name, ornull if not found
since:
   1.2



getPackages
protected Package[] getPackages()(Code)
Returns all of the Packages defined by this class loader and its ancestors.

The array of Package objects defined by thisClassLoader
since:
   1.2



getParent
final public ClassLoader getParent()(Code)
Returns the parent class loader for delegation. Some implementations may use null to represent the bootstrap class loader. This method will return null in such implementations if this class loader's parent is the bootstrap class loader.

If a security manager is present, and the invoker's class loader is not null and is not an ancestor of this class loader, then this method invokes the security manager's SecurityManager.checkPermission(java.security.Permission)checkPermission method with a RuntimePermission.RuntimePermission(String)RuntimePermission("getClassLoader") permission to verify access to the parent class loader is permitted. If not, a SecurityException will be thrown.

The parent ClassLoader
throws:
  SecurityException - If a security manager exists and its checkPermissionmethod doesn't allow access to this class loader's parent classloader.
since:
   1.2



getResource
public URL getResource(String name)(Code)
Finds the resource with the given name. A resource is some data (images, audio, text, etc) that can be accessed by class code in a way that is independent of the location of the code.

The name of a resource is a '/'-separated path name that identifies the resource.

This method will first search the parent class loader for the resource; if the parent is null the path of the class loader built-in to the virtual machine is searched. That failing, this method will invoke ClassLoader.findResource(String) to find the resource.


Parameters:
  name - The resource name A URL object for reading the resource, ornull if the resource could not be found or the invokerdoesn't have adequate privileges to get the resource.
since:
   1.1



getResourceAsStream
public InputStream getResourceAsStream(String name)(Code)
Returns an input stream for reading the specified resource.

The search order is described in the documentation for ClassLoader.getResource(String) .


Parameters:
  name - The resource name An input stream for reading the resource, or nullif the resource could not be found
since:
   1.1



getResources
final public Enumeration getResources(String name) throws IOException(Code)
Finds all the resources with the given name. A resource is some data (images, audio, text, etc) that can be accessed by class code in a way that is independent of the location of the code.

The name of a resource is a /-separated path name that identifies the resource.

The search order is described in the documentation for ClassLoader.getResource(String) .


Parameters:
  name - The resource name An enumeration of java.net.URL URL objects forthe resource. If no resources could be found, the enumerationwill be empty. Resources that the class loader doesn't haveaccess to will not be in the enumeration.
throws:
  IOException - If I/O errors occur
See Also:   ClassLoader.findResources(String)
since:
   1.2



getSystemClassLoader
public static ClassLoader getSystemClassLoader()(Code)
Returns the system class loader for delegation. This is the default delegation parent for new ClassLoader instances, and is typically the class loader used to start the application.

This method is first invoked early in the runtime's startup sequence, at which point it creates the system class loader and sets it as the context class loader of the invoking Thread.

The default system class loader is an implementation-dependent instance of this class.

If the system property "java.system.class.loader" is defined when this method is first invoked then the value of that property is taken to be the name of a class that will be returned as the system class loader. The class is loaded using the default system class loader and must define a public constructor that takes a single parameter of type ClassLoader which is used as the delegation parent. An instance is then created using this constructor with the default system class loader as the parameter. The resulting class loader is defined to be the system class loader.

If a security manager is present, and the invoker's class loader is not null and the invoker's class loader is not the same as or an ancestor of the system class loader, then this method invokes the security manager's SecurityManager.checkPermission(java.security.Permission)checkPermission method with a RuntimePermission.RuntimePermission(String)RuntimePermission("getClassLoader") permission to verify access to the system class loader. If not, a SecurityException will be thrown.

The system ClassLoader for delegation, ornull if none
throws:
  SecurityException - If a security manager exists and its checkPermissionmethod doesn't allow access to the system class loader.
throws:
  IllegalStateException - If invoked recursively during the construction of the classloader specified by the "java.system.class.loader"property.
throws:
  Error - If the system property "java.system.class.loader"is defined but the named class could not be loaded, theprovider class does not define the required constructor, or anexception is thrown by that constructor when it is invoked. Theunderlying cause of the error can be retrieved via theThrowable.getCause method.



getSystemResource
public static URL getSystemResource(String name)(Code)
Find a resource of the specified name from the search path used to load classes. This method locates the resource through the system class loader (see ClassLoader.getSystemClassLoader() ).


Parameters:
  name - The resource name A java.net.URL URL object for reading theresource, or null if the resource could not be found
since:
   1.1



getSystemResourceAsStream
public static InputStream getSystemResourceAsStream(String name)(Code)
Open for reading, a resource of the specified name from the search path used to load classes. This method locates the resource through the system class loader (see ClassLoader.getSystemClassLoader() ).


Parameters:
  name - The resource name An input stream for reading the resource, or nullif the resource could not be found
since:
   1.1



getSystemResources
public static Enumeration getSystemResources(String name) throws IOException(Code)
Finds all resources of the specified name from the search path used to load classes. The resources thus found are returned as an java.util.Enumeration Enumeration of java.net.URL URL objects.

The search order is described in the documentation for ClassLoader.getSystemResource(String) .


Parameters:
  name - The resource name An enumeration of resource java.net.URL URLobjects
throws:
  IOException - If I/O errors occur
since:
   1.2



isAncestor
boolean isAncestor(ClassLoader cl)(Code)



loadBootstrapClass
static Class loadBootstrapClass(String name) throws ClassNotFoundException(Code)
Returns a bootstrap Class, or throws a ClassNotFoundException



loadClass
public Class loadClass(String name) throws ClassNotFoundException(Code)
Loads the class with the specified name. This method searches for classes in the same manner as the ClassLoader.loadClass(String,boolean) method. It is invoked by the Java virtual machine to resolve class references. Invoking this method is equivalent to invoking ClassLoader.loadClass(String,boolean) loadClass(name, false) .


Parameters:
  name - The name of the class The resulting Class object
throws:
  ClassNotFoundException - If the class was not found



loadClass
protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException(Code)
Loads the class with the specified name. The default implementation of this method searches for classes in the following order:

  1. Invoke ClassLoader.findLoadedClass(String) to check if the class has already been loaded.

  2. Invoke the ClassLoader.loadClass(String) loadClass method on the parent class loader. If the parent is null the class loader built-in to the virtual machine is used, instead.

  3. Invoke the ClassLoader.findClass(String) method to find the class.

If the class was found using the above steps, and the resolve flag is true, this method will then invoke the ClassLoader.resolveClass(Class) method on the resulting Class object.

Subclasses of ClassLoader are encouraged to override ClassLoader.findClass(String) , rather than this method.


Parameters:
  name - The name of the class
Parameters:
  resolve - If true then resolve the class The resulting Class object
throws:
  ClassNotFoundException - If the class could not be found



loadLibrary
static void loadLibrary(Class fromClass, String name, boolean isAbsolute)(Code)



resolveClass
final protected void resolveClass(Class c)(Code)
Links the specified class. This (misleadingly named) method may be used by a class loader to link a class. If the class c has already been linked, then this method simply returns. Otherwise, the class is linked as described in the "Execution" chapter of the Java Language Specification.


Parameters:
  c - The class to link
throws:
  NullPointerException - If c is null.
See Also:   ClassLoader.defineClass(String,byte[],int,int)



setClassAssertionStatus
public synchronized void setClassAssertionStatus(String className, boolean enabled)(Code)
Sets the desired assertion status for the named top-level class in this class loader and any nested classes contained therein. This setting takes precedence over the class loader's default assertion status, and over any applicable per-package default. This method has no effect if the named class has already been initialized. (Once a class is initialized, its assertion status cannot change.)

If the named class is not a top-level class, this invocation will have no effect on the actual assertion status of any class, and its return value is undefined.


Parameters:
  className - The fully qualified class name of the top-level class whoseassertion status is to be set.
Parameters:
  enabled - true if the named class is to have assertionsenabled when (and if) it is initialized, false if theclass is to have assertions disabled.
since:
   1.4



setDefaultAssertionStatus
public synchronized void setDefaultAssertionStatus(boolean enabled)(Code)
Sets the default assertion status for this class loader. This setting determines whether classes loaded by this class loader and initialized in the future will have assertions enabled or disabled by default. This setting may be overridden on a per-package or per-class basis by invoking ClassLoader.setPackageAssertionStatus(String,boolean) or ClassLoader.setClassAssertionStatus(String,boolean) .


Parameters:
  enabled - true if classes loaded by this class loader willhenceforth have assertions enabled by default, falseif they will have assertions disabled by default.
since:
   1.4



setPackageAssertionStatus
public synchronized void setPackageAssertionStatus(String packageName, boolean enabled)(Code)
Sets the package default assertion status for the named package. The package default assertion status determines the assertion status for classes initialized in the future that belong to the named package or any of its "subpackages".

A subpackage of a package named p is any package whose name begins with "p.". For example, javax.swing.text is a subpackage of javax.swing, and both java.util and java.lang.reflect are subpackages of java.

In the event that multiple package defaults apply to a given class, the package default pertaining to the most specific package takes precedence over the others. For example, if javax.lang and javax.lang.reflect both have package defaults associated with them, the latter package default applies to classes in javax.lang.reflect.

Package defaults take precedence over the class loader's default assertion status, and may be overridden on a per-class basis by invoking ClassLoader.setClassAssertionStatus(String,boolean) .


Parameters:
  packageName - The name of the package whose package default assertion statusis to be set. A null value indicates the unnamedpackage that is "current" (Java LanguageSpecification, section 7.4.2).
Parameters:
  enabled - true if classes loaded by this classloader andbelonging to the named package or any of its subpackages willhave assertions enabled by default, false if they willhave assertions disabled by default.
since:
   1.4



setSigners
final protected void setSigners(Class c, Object[] signers)(Code)
Sets the signers of a class. This should be invoked after defining a class.


Parameters:
  c - The Class object
Parameters:
  signers - The signers for the class
since:
   1.1



Methods inherited from java.lang.Object
public boolean equals(Object obj)(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.