Top Description Constructors Methods
com.sun.star.lib.unoloader

public final Class UnoClassLoader

extends URLClassLoader
Class Inheritance
Imports
java.io.IOException, java.lang.reflect.InvocationTargetException, java.net.MalformedURLException, .URL, .URLClassLoader, java.util.jar.Attributes, .Manifest, .JarInputStream

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, addURL 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

AccessConstructor and Description
public
UnoClassLoader(URL
a base URL relative to which the URE JARs (java_uno.jar and libreoffice.jar) can be found; must not be null.
base
,
URL[]
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.
classPath
,
ClassLoader
the parent class loader for delegation.
parent
)

Instantiates the root UNO class loader.

Method Summary

Modifier and TypeMethod and Description
private static URL[]
createUrls(URL base, URL[] classPath)

public void
execute(URL
the URL of a UNO JAR that specifies a Main-Class; must not be null.
jar
,
String[]
any arguments passed to the main method of the specified Main-Class of the given JAR jar; must not be null.
arguments
)

Executes a UNO JAR.

public ClassLoader

Returns:

an appropriate class loader; will never be null.
getClassLoader
(URL
the URL of a UNO JAR; must not be null.
jar
,
Attributes
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.)
mainAttributes
)

Obtains a class loader for a UNO JAR.

public static Attributes

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.
getJarMainAttributes
(URL
the URL of a JAR; must not be null.
jar
)

Obtains the main section of the manifest of a JAR.

Inherited from java.net.URLClassLoader:
addURLclosedefinePackagefindClassfindResourcefindResourcesgetPermissionsgetResourceAsStreamgetURLsnewInstancenewInstance

Constructor Detail

UnoClassLoaderback to summary
public UnoClassLoader(URL base, URL[] classPath, ClassLoader parent) throws MalformedURLException

Instantiates the root UNO class loader.

Parameters
base:URL

a base URL relative to which the URE JARs (java_uno.jar and libreoffice.jar) can be found; must not be null.

classPath:URL[]

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:ClassLoader

the parent class loader for delegation.

Exceptions
MalformedURLException:
if the given base URL is malformed.

Method Detail

createUrlsback to summary
private static URL[] createUrls(URL base, URL[] classPath) throws MalformedURLException
executeback to summary
public void execute(URL jar, String[] arguments) throws IOException, ClassNotFoundException, NoSuchMethodException, InvocationTargetException

Executes a UNO JAR.

Parameters
jar:URL

the URL of a UNO JAR that specifies a Main-Class; must not be null.

arguments:String[]

any arguments passed to the main method of the specified Main-Class of the given JAR jar; must not be null.

Exceptions
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.
getClassLoaderback to summary
public ClassLoader getClassLoader(URL jar, Attributes mainAttributes) throws MalformedURLException

Obtains a class loader for a UNO JAR.

Parameters
jar:URL

the URL of a UNO JAR; must not be null.

mainAttributes:Attributes

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:ClassLoader

an appropriate class loader; will never be null.

Exceptions
MalformedURLException:
if the given jar URL or any of the UNO-Type-Path URLs specified in the given JAR are malformed.
getJarMainAttributesback to summary
public static Attributes getJarMainAttributes(URL jar) throws IOException

Obtains the main section of the manifest of a JAR.

Parameters
jar:URL

the URL of a JAR; must not be null.

Returns:Attributes

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.

Exceptions
IOException:
if there are any problems processing the given JAR jar.