| Documentation Contents

# The Extension Mechanism for Support of Optional Packages

> Optional packages are packages of classes (and any associated native code) that application developers can use to extend the functionality of the core platform. The extension mechanism allows the Java virtual machine (VM) to use the classes of the optional extension in much the same way as the VM uses classes in the Java Platform. The extension mechanism also provides a way for needed optional packages to be retrieved from specified URLs when they are not already installed in the JDK or JRE.

Overview

- Overview - What optional packages are and how to use them.

API Specification

The following classes play a role in the extension mechanism:

- java.lang.ClassLoader
- java.lang.Package
- java.lang.Thread
- java.net.JarURLConnection
- java.net.URLClassLoader
- java.security.SecureClassLoader

See also the API Details section of the mechanism specification for notes on these APIs.

Tutorials and Programmer's Guides

> Located on the Java Software website:

- The Extension Mechanism trail of the Java Tutorial.

API Enhancements

- Enhancements to the extension mechanism in version 1.3 included an extended set of manifest attributes that can be used for checking vendor and versioning information of installed optional packages. If an applet requires an optional package that isn't installed, or that is installed but has the wrong version number or is not from the appropriate vendor, the Java Plug-in can download the needed extension from a specified URL. For more information, see Optional-Package Versioning.

More Information

- Extension Mechanism Architecture - Notes on the extension mechanism API and how optional packages use the Jar file format.

Copyright © 1993, 2010, Oracle and/or its affiliates. All rights reserved. Please send comments using this Feedback page. | Java Technology