This document lists changes made to the Project Libraries API.
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.
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
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
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.
Signatures of some methods previously using URL were changed to use URI. Some URL handling methods were removed and/or replaced with URI counterpart.
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.
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).
LibraryTypeProvider
; made by: mkleint
LibraryTypeProvider.getCustomizer() can return null for some volume types.
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.
To indicate that this is now considered a stable API, the major release version was incremented to 1 from 0.
Clients should begin requesting the new version to avoid a warning at startup.
Built on December 5 2011. | Portions Copyright 1997-2011 Sun Microsystems, Inc. All rights reserved.