| java.lang.Object | |
| ↳ | java.lang.ClassLoader | 
        
          
        
        Known Direct Subclasses
        
        | 
      
        
          
        
        Known Indirect Subclasses
        
        | 
      
Loads classes and resources from a repository. One or more class loaders are installed at runtime. These are consulted whenever the runtime system needs a specific class that is not yet available in-memory. Typically, class loaders are grouped into a tree where child class loaders delegate all requests to parent class loaders. Only if the parent class loader cannot satisfy the request, the child class loader itself tries to handle it.
       
        ClassLoader
       
       is an abstract class that implements the common
 infrastructure required by all class loaders. Android provides several
 concrete implementations of the class, with
       
        
         PathClassLoader
        
       
       being the one typically used. Other
 applications may implement subclasses of
       
        ClassLoader
       
       to provide
 special ways for loading classes.
      
| Protected Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 
          | 
        
          
          Constructs a new instance of this class with the system class loader as
 its parent.
          
         | 
       ||||||||||
| 
          | 
        
          
          Constructs a new instance of this class with the specified class loader
 as its parent.
          
         | 
       ||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 
          | 
        
          
          Sets the default assertion status for this class loader to
           
        
           false
          
          and removes any package default and class assertion status settings.
          | 
       ||||||||||
| 
          | 
        
          
          Returns this class loader's parent.
          
         | 
       ||||||||||
| 
          | 
        
          
          Returns the URL of the resource with the specified name.
          
         | 
       ||||||||||
| 
          | 
        
          
          Returns a stream for the resource with the specified name.
          
         | 
       ||||||||||
| 
          | 
        
          
          Returns an enumeration of URLs for the resource with the specified name.
          
         | 
       ||||||||||
| 
          | 
        
          
          Returns the system class loader.
          
         | 
       ||||||||||
| 
          | 
        
          
          Finds the URL of the resource with the specified name.
          
         | 
       ||||||||||
| 
          | 
        
          
          Returns a stream for the resource with the specified name.
          
         | 
       ||||||||||
| 
          | 
        
          
          Returns an enumeration of URLs for the resource with the specified name.
          
         | 
       ||||||||||
| 
          | 
        
          
          Loads the class with the specified name.
          
         | 
       ||||||||||
| 
          | 
        
          
          Sets the assertion status of the class with the specified name.
          
         | 
       ||||||||||
| 
          | 
        
          
          Sets the default assertion status for this class loader.
          
         | 
       ||||||||||
| 
          | 
        
          
          Sets the assertion status of the package with the specified name.
          
         | 
       ||||||||||
| Protected Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 
          | 
        
          
          Defines a new class with the specified name, byte code from the byte
 buffer and the optional protection domain.
          
         | 
       ||||||||||
| 
          | 
        
          
          Constructs a new class from an array of bytes containing a class
 definition in class file format and assigns the specified protection
 domain to the new class.
          
         | 
       ||||||||||
| 
          | 
        
          
          Constructs a new class from an array of bytes containing a class
 definition in class file format.
          
         | 
       ||||||||||
| 
          | 
        
          
          
           This method was deprecated
      in API level 1.
    Use
            
        
            
             defineClass(String, byte[], int, int)
            
           
           instead.
          
          | 
       ||||||||||
| 
          | 
        
          
          Defines and returns a new
           
        
           Package
          
          using the specified
 information.
          | 
       ||||||||||
| 
          | 
        
          
          Overridden by subclasses, throws a
           
        
           ClassNotFoundException
          
          by
 default.
          | 
       ||||||||||
| 
          | 
        
          
          Returns the absolute path of the native library with the specified name,
 or
           
        
           null
          
          .
          | 
       ||||||||||
| 
          | 
        
          
          Returns the class with the specified name if it has already been loaded
 by the VM or
           
        
           null
          
          if it has not yet been loaded.
          | 
       ||||||||||
| 
          | 
        
          
          Finds the URL of the resource with the specified name.
          
         | 
       ||||||||||
| 
          | 
        
          
          Finds an enumeration of URLs for the resource with the specified name.
          
         | 
       ||||||||||
| 
          | 
        
          
          Finds the class with the specified name, loading it using the system
 class loader if necessary.
          
         | 
       ||||||||||
| 
          | 
        
          
          Returns the package with the specified name.
          
         | 
       ||||||||||
| 
          | 
        
          
          Returns all the packages known to this class loader.
          
         | 
       ||||||||||
| 
          | 
        
          
          Loads the class with the specified name, optionally linking it after
 loading.
          
         | 
       ||||||||||
| 
          | 
        
          
          Forces a class to be linked (initialized).
          
         | 
       ||||||||||
| 
          | 
        
          
          Sets the signers of the specified class.
          
         | 
       ||||||||||
| 
         
          [Expand]
         
          
          Inherited Methods
          
         | 
       |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
         
           
         
         From class
         
          java.lang.Object
         
          | 
       |||||||||||
Constructs a new instance of this class with the system class loader as its parent.
Constructs a new instance of this class with the specified class loader as its parent.
| parentLoader | 
           The
           
            ClassLoader
           
           to use as the new class loader's
            parent.
           | 
         
|---|
         Sets the default assertion status for this class loader to
         
          false
         
         and removes any package default and class assertion status settings.
        
Note: This method does nothing in the Android reference implementation.
Returns this class loader's parent.
           null
          
          .
         
         Returns the URL of the resource with the specified name. This
 implementation first tries to use the parent class loader to find the
 resource; if this fails then
         
          
           findResource(String)
          
         
         is called to
 find the requested resource.
        
| resName | the name of the resource to find. | 
|---|
           URL
          
          object for the requested resource or
          
           null
          
          if the resource can not be found
         
         Returns a stream for the resource with the specified name. See
         
          
           getResource(String)
          
         
         for a description of the lookup algorithm
 used to find the resource.
        
| resName | the name of the resource to find. | 
|---|
           null
          
          if the resource can not be found
         
         Returns an enumeration of URLs for the resource with the specified name.
 This implementation first uses this class loader's parent to find the
 resource, then it calls
         
          
           findResources(String)
          
         
         to get additional
 URLs. The returned enumeration contains the
         
          URL
         
         objects of both
 find operations.
        
| resName | the name of the resource to find. | 
|---|
           URL
          
          objects for the requested resource.
         | IOException | if an I/O error occurs. | 
|---|
         Returns the system class loader. This is the parent for new
         
          ClassLoader
         
         instances and is typically the class loader used to
 start the application.
        
Finds the URL of the resource with the specified name. The system class loader's resource lookup algorithm is used to find the resource.
| resName | the name of the resource to find. | 
|---|
           URL
          
          object for the requested resource or
          
           null
          
          if the resource can not be found.
         Returns a stream for the resource with the specified name. The system class loader's resource lookup algorithm is used to find the resource. Basically, the contents of the java.class.path are searched in order, looking for a path which matches the specified resource.
| resName | the name of the resource to find. | 
|---|
           null
          
          .
         Returns an enumeration of URLs for the resource with the specified name. The system class loader's resource lookup algorithm is used to find the resource.
| resName | the name of the resource to find. | 
|---|
           URL
          
          objects containing the requested
         resources.
         | IOException | if an I/O error occurs. | 
|---|
         Loads the class with the specified name. Invoking this method is
 equivalent to calling
         
          loadClass(className, false)
         
         .
        
         
          Note:
         
         In the Android reference implementation, the
 second parameter of
         
          
           loadClass(String, boolean)
          
         
         is ignored
 anyway.
        
| className | the name of the class to look for. | 
|---|
           Class
          
          object.
         | ClassNotFoundException | if the class can not be found. | 
|---|
Sets the assertion status of the class with the specified name.
Note: This method does nothing in the Android reference implementation.
| cname | the name of the class for which to set the assertion status. | 
|---|---|
| enable | the new assertion status. | 
Sets the default assertion status for this class loader.
Note: This method does nothing in the Android reference implementation.
| enable | the new assertion status. | 
|---|
Sets the assertion status of the package with the specified name.
Note: This method does nothing in the Android reference implementation.
| pname | the name of the package for which to set the assertion status. | 
|---|---|
| enable | the new assertion status. | 
         Defines a new class with the specified name, byte code from the byte
 buffer and the optional protection domain. If the provided protection
 domain is
         
          null
         
         then a default protection domain is assigned to
 the class.
        
| name | 
           the expected name of the new class, may be
           
            null
           
           if not
            known.
           | 
         
|---|---|
| b | the byte buffer containing the byte code of the new class. | 
| protectionDomain | 
           the protection domain to assign to the loaded class, may be
           
            null
           
           .
           | 
         
           Class
          
          object created from the data in
          
           b
          
          .
         | ClassFormatError | 
           if
           
            b
           
           does not contain a valid class.
           | 
         
|---|---|
| NoClassDefFoundError | 
           if
           
            className
           
           is not equal to the name of the class
             contained in
           
            b
           
           .
           | 
         
         Constructs a new class from an array of bytes containing a class
 definition in class file format and assigns the specified protection
 domain to the new class. If the provided protection domain is
         
          null
         
         then a default protection domain is assigned to the class.
        
| className | 
           the expected name of the new class, may be
           
            null
           
           if not
            known.
           | 
         
|---|---|
| classRep | the memory image of a class file. | 
| offset | 
           the offset into
           
            classRep
           
           .
           | 
         
| length | the length of the class file. | 
| protectionDomain | 
           the protection domain to assign to the loaded class, may be
           
            null
           
           .
           | 
         
           Class
          
          object created from the specified subset of
         data in
          
           classRep
          
          .
         | ClassFormatError | 
           if
           
            classRep
           
           does not contain a valid class.
           | 
         
|---|---|
| IndexOutOfBoundsException | 
           if
           
            offset < 0
           
           ,
           
            length < 0
           
           or if
           
            offset + length
           
           is greater than the length of
           
            classRep
           
           .
           | 
         
| NoClassDefFoundError | 
           if
           
            className
           
           is not equal to the name of the class
             contained in
           
            classRep
           
           .
           | 
         
Constructs a new class from an array of bytes containing a class definition in class file format.
| className | 
           the expected name of the new class, may be
           
            null
           
           if not
            known.
           | 
         
|---|---|
| classRep | the memory image of a class file. | 
| offset | 
           the offset into
           
            classRep
           
           .
           | 
         
| length | the length of the class file. | 
           Class
          
          object created from the specified subset of
         data in
          
           classRep
          
          .
         | ClassFormatError | 
           if
           
            classRep
           
           does not contain a valid class.
           | 
         
|---|---|
| IndexOutOfBoundsException | 
           if
           
            offset < 0
           
           ,
           
            length < 0
           
           or if
           
            offset + length
           
           is greater than the length of
           
            classRep
           
           .
           | 
         
        
         This method was deprecated
      in API level 1.
        
        
        Use
        
         
          defineClass(String, byte[], int, int)
         
        
        instead.
       
Constructs a new class from an array of bytes containing a class definition in class file format.
| classRep | the memory image of a class file. | 
|---|---|
| offset | 
           the offset into
           
            classRep
           
           .
           | 
         
| length | the length of the class file. | 
           Class
          
          object created from the specified subset of
         data in
          
           classRep
          
          .
         | ClassFormatError | 
           if
           
            classRep
           
           does not contain a valid class.
           | 
         
|---|---|
| IndexOutOfBoundsException | 
           if
           
            offset < 0
           
           ,
           
            length < 0
           
           or if
           
            offset + length
           
           is greater than the length of
           
            classRep
           
           .
           | 
         
         Defines and returns a new
         
          Package
         
         using the specified
 information. If
         
          sealBase
         
         is
         
          null
         
         , the package is left
 unsealed. Otherwise, the package is sealed using this URL.
        
| name | the name of the package. | 
|---|---|
| specTitle | the title of the specification. | 
| specVersion | the version of the specification. | 
| specVendor | the vendor of the specification. | 
| implTitle | the implementation title. | 
| implVersion | the implementation version. | 
| implVendor | the specification vendor. | 
| sealBase | 
           the URL used to seal this package or
           
            null
           
           to leave the
            package unsealed.
           | 
         
           Package
          
          object that has been created.
         | IllegalArgumentException | if a package with the specified name already exists. | 
|---|
         Overridden by subclasses, throws a
         
          ClassNotFoundException
         
         by
 default. This method is called by
         
          loadClass
         
         after the parent
         
          ClassLoader
         
         has failed to find a loaded class of the same name.
        
| className | the name of the class to look for. | 
|---|
           Class
          
          object that is found.
         | ClassNotFoundException | if the class cannot be found. | 
|---|
         Returns the absolute path of the native library with the specified name,
 or
         
          null
         
         . If this method returns
         
          null
         
         then the virtual
 machine searches the directories specified by the system property
 "java.library.path".
        
         This implementation always returns
         
          null
         
         .
        
| libName | the name of the library to find. | 
|---|
         Returns the class with the specified name if it has already been loaded
 by the VM or
         
          null
         
         if it has not yet been loaded.
        
| className | the name of the class to look for. | 
|---|
           Class
          
          object or
          
           null
          
          if the requested class
         has not been loaded.
         
         Finds the URL of the resource with the specified name. This
 implementation just returns
         
          null
         
         ; it should be overridden in
 subclasses.
        
| resName | the name of the resource to find. | 
|---|
           URL
          
          object for the requested resource.
         
         Finds an enumeration of URLs for the resource with the specified name.
 This implementation just returns an empty
         
          Enumeration
         
         ; it should
 be overridden in subclasses.
        
| resName | the name of the resource to find. | 
|---|
           URL
          
          objects for the requested resource.
         | IOException | if an I/O error occurs. | 
|---|
Finds the class with the specified name, loading it using the system class loader if necessary.
| className | the name of the class to look for. | 
|---|
           Class
          
          object with the requested
          
           className
          
          .
         | ClassNotFoundException | if the class can not be found. | 
|---|
Returns the package with the specified name. Package information is searched in this class loader.
| name | the name of the package to find. | 
|---|
           null
          
          if the package
         can not be found.
         Returns all the packages known to this class loader.
Loads the class with the specified name, optionally linking it after loading. The following steps are performed:
            
             findLoadedClass(String)
            
           
           to determine if the requested
 class has already been loaded.
          
            
             findClass(String)
            
           
           to find the class.
          
         
          Note:
         
         In the Android reference implementation, the
         
          resolve
         
         parameter is ignored; classes are never linked.
        
| className | the name of the class to look for. | 
|---|---|
| resolve | Indicates if the class should be resolved after loading. This parameter is ignored on the Android reference implementation; classes are not resolved. | 
           Class
          
          object.
         | ClassNotFoundException | if the class can not be found. | 
|---|
Forces a class to be linked (initialized). If the class has already been linked this operation has no effect.
Note: In the Android reference implementation, this method has no effect.
| clazz | the class to link. | 
|---|
Sets the signers of the specified class. This implementation does nothing.
| c | 
           the
           
            Class
           
           object for which to set the signers.
           | 
         
|---|---|
| signers | 
           the signers for
           
            c
           
           .
           |