Introduction

This document lists changes made to the Project Libraries API.


Index of APIs

Incompatible changes by date

Fuller descriptions of all changes can be found below (follow links).

Not all deprecations are listed here, assuming that the deprecated APIs continue to essentially work. For a full deprecation list, please consult the Javadoc.

All changes by date

Changes by version

These API specification versions may be used to indicate that a module requires a certain API feature in order to function. For example, if you see here a feature you need which is labelled 1.20, your manifest should contain in its main attributes the line:

OpenIDE-Module-Module-Dependencies: org.netbeans.modules.project.libraries/1 > 1.20

Changes by affected class

org.netbeans.spi.project.libraries.ArealLibraryProvider

org.netbeans.api.project.libraries.LibrariesCustomizer

org.netbeans.spi.project.libraries.support.LibrariesSupport

org.netbeans.api.project.libraries.Library

org.netbeans.api.project.libraries.LibraryChooser

org.netbeans.spi.project.libraries.LibraryCustomizerContext

org.netbeans.spi.project.libraries.LibraryFactory

org.netbeans.spi.project.libraries.LibraryImplementation2

org.netbeans.api.project.libraries.LibraryManager

org.netbeans.spi.project.libraries.LibraryProvider

org.netbeans.spi.project.libraries.LibraryStorageArea

org.netbeans.spi.project.libraries.LibraryTypeProvider


Details of all changes by API and date


Project Libraries API

URI used for relative library entries instead of URL

Mar 27 '08; API spec. version: 1.18; affected top-level classes: LibraryManager Library LibrariesCustomizer LibraryCustomizerContext LibraryImplementation2 LibrariesSupport; made by: dkonecny; issues: #129628

API review of Sharable Libraries requested using URI for relative paths instead of URL.

Added LibraryCustomizerContext class to provide richer context to libraries customizer.


Compatibility:

Signatures of some methods previously using URL were changed to use URI. Some URL handling methods were removed and/or replaced with URI counterpart.

Support for project libraries

Jan 22 '08; API spec. version: 1.17; affected top-level classes: LibraryManager Library LibraryChooser LibrariesCustomizer LibraryProvider ArealLibraryProvider LibraryStorageArea LibrariesSupport; made by: jglick; issues: #44035

There is a new API and SPI for project libraries (or, more generally, libraries with specific storage locations). ArealLibraryProvider, and LibraryStorageArea are new, as are methods Library.getManager, Library.getRawContent(String) LibraryManager.getDisplayName, LibraryManager.getLocation, LibraryManager.createLibrary, LibraryManager.forLocation, and LibraryManager.getOpenManagers. (LibraryProvider was also generified.) LibrariesSupport has few additional helper methods.

There's also new methods and classes for UI customizations of Libraries, eg. LibrariesCustomizer.showCreateNewLibraryCustomizer(LibraryManager), LibrariesCustomizer.showCustomizer(Library, LibraryManager), LibrariesCustomizer.showSingleLibraryCustomizer(Library), and LibraryChooser class.


Compatibility:

LibraryManager.addLibrary will not work with areas, so it was deprecated in favor of the new createLibrary.

Code which obtained a Library of arbitrary origin, and then assumed it could refer to that library henceforth by name only, will not work with project libraries. The simplest persistent identifier for a new-style library is pair of name and URL of manager (null for the default manager).

Customizer for volume type in LibraryTypeProvider is not mandatory

Aug 31 '07; API spec. version: 1.15; affected top-level classes: LibraryTypeProvider; made by: mkleint

LibraryTypeProvider.getCustomizer() can return null for some volume types.

Added methods for adding and removing libraries into/from library manager

Aug 11 '06; API spec. version: 1.14; affected top-level classes: LibraryManager LibraryFactory LibrariesSupport; made by: tzezula

Added method for adding and removing a new library into/from the library manager. Added a factory class for creating Library (API object) form LibraryImplementation (SPI object). Added a support methods for listing installed LibraryTypeProviders.

Switched to major release version 1

Dec 22 '04; API spec. version: 1.10; made by: jglick; issues: #51468

To indicate that this is now considered a stable API, the major release version was incremented to 1 from 0.


Compatibility:

Clients should begin requesting the new version to avoid a warning at startup.


Built on March 18 2014.  |  Portions Copyright 1997-2014 Sun Microsystems, Inc. All rights reserved.