Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.15

API

SDK

Tips ‘n’ Tricks

Miscellaneous

UnoClassLoader (Java UNO Runtime Reference)
UDK 3.2.7 Java API Reference

com.sun.star.lib.unoloader
Class UnoClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by com.sun.star.lib.unoloader.UnoClassLoader

public final class UnoClassLoader
extends URLClassLoader

The root UNO class loader.

This class loader is able to load all published URE classes, including the classes representing the published URE UNO types. For consistency, it is important that within each Java UNO environment there is one instance of this class loader that is the defining class loader of all published URE classes (and hence of all unpublished URE classes, too) and of all classes representing UNO types (the published URE UNO types, any unpublished URE UNO types, and any additional UNO types introduced by components; for the latter, URLClassLoader.addURL(java.net.URL) may be necessary).

This is an internal, unstable class of the Uno Runtime Environment; it should not be used by client code.

Since:
UDK 3.2.0

Constructor Summary
UnoClassLoader(URL base, URL[] classPath, ClassLoader parent)
          Instantiates the root UNO class loader.
 
Method Summary
 void execute(URL jar, String[] arguments)
          Executes a UNO JAR.
 ClassLoader getClassLoader(URL jar, Attributes mainAttributes)
          Obtains a class loader for a UNO JAR.
static Attributes getJarMainAttributes(URL jar)
          Obtains the main section of the manifest of a JAR.
 
Methods inherited from class java.net.URLClassLoader
addURL, definePackage, findClass, findResource, findResources, getPermissions, getURLs, newInstance, newInstance
 
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UnoClassLoader

public UnoClassLoader(URL base,
                      URL[] classPath,
                      ClassLoader parent)
               throws MalformedURLException
Instantiates the root UNO class loader.

Parameters:
base - a base URL relative to which the URE JARs (java_uno.jar, juh.jar, jurt.jar, ridl.jar) can be found; must not be null.
classPath - an array of URLs that form the class path of this class loader; may be null, which is the same as an empty array. The URLs are interpreted in the same way as the arguments of a URLClassLoader.
parent - the parent class loader for delegation.
Throws:
MalformedURLException - if the given base URL is malformed.
Method Detail

getClassLoader

public ClassLoader getClassLoader(URL jar,
                                  Attributes mainAttributes)
                           throws MalformedURLException
Obtains a class loader for a UNO JAR.

Parameters:
jar - the URL of a UNO JAR; must not be null.
mainAttributes - represents the main section of the manifest of the given JAR jar; null if the given JAR does not have a manifest. (This redundant parameter is there for performance reasons, as typically the caller of this method already has this information available.)
Returns:
an appropriate class loader; will never be null.
Throws:
MalformedURLException - if the given jar URL or any of the UNO-Type-Path URLs specified in the given JAR are malformed.

execute

public void execute(URL jar,
                    String[] arguments)
             throws IOException,
                    ClassNotFoundException,
                    NoSuchMethodException,
                    InvocationTargetException
Executes a UNO JAR.

Parameters:
jar - the URL of a UNO JAR that specifies a Main-Class; must not be null.
arguments - any arguments passed to the main method of the specified Main-Class of the given JAR jar; must not be null.
Throws:
IOException - if there are any problems processing the given JAR jar.
ClassNotFoundException - if the given JAR jar does not specify a Main-Class, or if the specified Main-Class cannot be found.
NoSuchMethodException - if the specified Main-Class of the given JAR jar does not have an appropriate main method.
InvocationTargetException - if an exception occurs while executing the main method of the specified Main-Class of the given JAR jar.

getJarMainAttributes

public static Attributes getJarMainAttributes(URL jar)
                                       throws IOException
Obtains the main section of the manifest of a JAR.

Parameters:
jar - the URL of a JAR; must not be null.
Returns:
the representation of the main section of the manifest of the given JAR jar, or null if the given JAR does not have a manifest.
Throws:
IOException - if there are any problems processing the given JAR jar.

UDK 3.2.7 Java API Reference

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache, OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.