com.sun.star.lib.unoloader
public final class UnoClassLoader extends URLClassLoader
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, UnoClassLoader 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.
|
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.
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
.
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.
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
.