urn:netbeans-org:apichanges NetBeans API Changes netbeans.org 2008-04-21T18:22:14Z urn:netbeans-org:apichanges:use-uri-for-relative-paths [org.netbeans.modules.java.project] Support for adding/removing relative classpath entries 2008-03-27T00:00:00Z dkonecny dkonecny@netbeans.org

Allow to add/remove relative classpath entries.

urn:netbeans-org:apichanges:use-uri-for-relative-paths [org.netbeans.modules.project.libraries] URI used for relative library entries instead of URL 2008-03-27T00:00:00Z dkonecny dkonecny@netbeans.org

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

Added LibraryCustomizerContext class to provide richer context to libraries customizer.

urn:netbeans-org:apichanges:KeepNonPersistentTCInModelWhenClosed [org.openide.windows] Changed behavior of TopComponent.close() and TopComponentGroup.close() for non persistent TopComponent 2008-03-27T00:00:00Z mslama mslama@netbeans.org Add client property KeepNonPersistentTCInModelWhenClosed to TopComponent to control behavior of winsys when nonpersistent TopComponent is closed. As some TopComponent wants to keep their position in winsys ie. be able to reopen at the same place and some TopComponent wants to be removed from winsys model. We added client boolean property KeepNonPersistentTCInModelWhenClosed. When this property is not set nn persistent TopComponent is removed from model when closed - it is original behavior before fix of issue #101700. If client property is set (!= null) then TopComponent is kept in model. It means that client must explicitly set this client property to get behavior requested by issue #101700. urn:netbeans-org:apichanges:project-encoding-property [org.netbeans.modules.projectuiapi] Adding template attribute project.encoding 2008-03-26T00:00:00Z abadea abadea@netbeans.org Added the template attribute project.license for templates using scripting language. urn:netbeans-org:apichanges:initializeOnBackground [org.openide.text] EditorKit, Document and co. are loaded on background by default 2008-03-25T00:00:00Z jtulach jtulach@netbeans.org

In order to speedup, or remove the load of initialization of kit in AWT during startup, the initialization is done outside of AWT thread as much as possible. This provides new API for editor kits, one component and one system property.

urn:netbeans-org:apichanges:FileBasedIsVisible [org.netbeans.modules.queries] VisibilityQuery.isVisible(File) added 2008-03-24T00:00:00Z mkleint mkleint@netbeans.org

Added new method VisibilityQuery.isVisible(File). It queries all VisibilityQueryImplementation instances found in global lookup. If such instance implements VisibilityQueryImplementation2, it's isVisible(File) method is used directly. If not, it attempts to delegate to the isVisible(FileObject) method. That might not work for non-existing files. All implementations of VisibilityQueryImplementation are encouraged to upgrade to VisibilityQueryImplementation2.

urn:netbeans-org:apichanges:folder-based-privileged-templates [org.netbeans.modules.projectuiapi] PrivilegedTemplates instance in global action context is preferred 2008-03-21T00:00:00Z mkleint mkleint@netbeans.org The previous scope of PrivilegedTemplates was the whole project. Now the selected Node (active context) can also provide an instance in it's lookup and it will be used instead of the default one from project's lookup. In this case the last used templates will not be considered. urn:netbeans-org:apichanges:ClassPath.string [org.netbeans.api.java] Interconversions with string-format classpaths 2008-03-17T00:00:00Z jglick jglick@netbeans.org

ClassPath.toString(PathConversionMode) and ClassPathSupport.createClassPath(String) can be used to easily convert between traditional string classpaths and NetBeans' internal representation.

urn:netbeans-org:apichanges:FileUtil.urlForArchiveOrDir.archiveOrDirForURL [org.openide.filesystems] Added methods to interconvert URLs and traditional path entries 2008-03-17T00:00:00Z jglick jglick@netbeans.org

Added methods urlForArchiveOrDir and archiveOrDirForURL to FileUtil to make it easier to work with classpaths.

urn:netbeans-org:apichanges:queries-spi-support [org.netbeans.api.java] Support for delegating SourceForBinaryQueryImplementation2 2008-03-13T00:00:00Z tzezula tzezula@netbeans.org

Added support base class for SourceForBinaryQueryImplementation2 which delegates to other SourceForBinaryQueryImplementations.

urn:netbeans-org:apichanges:Actions.MenuText [org.openide.awt] Actions can have "menuText" and "popupText" properties 2008-03-12T00:00:00Z jtulach jtulach@netbeans.org In order to allow dynamic names of actions, the Actions.connect method now understands additional properties that influence the text of menu items or popup menu items build for this action. urn:netbeans-org:apichanges:source-for-binary-query2 [org.netbeans.api.java] Support for passing hint to the java infrastructure whether it should prefer source or binary 2008-03-10T00:00:00Z tzezula tzezula@netbeans.org

It is possible for the SouceForBinaryQuery provider to specify whether the java module should prefer sources or binaries. In general sources should be preferred for projects where user can make modification. The binaries should be preferred for libraries and platforms where sources may not be complete or correct.

urn:netbeans-org:apichanges:AntEvent-references [org.apache.tools.ant.module] Ant loggers can now inspect Ant reference objects 2008-03-06T00:00:00Z jglick jglick@netbeans.org

The AntEvent methods getProperty and getPropertyNames can now work with Ant references as well as plain properties. This is critical for loggers which wish to inspect e.g. the runtime value of a classpath given as:

<classpath refid="my.cp"/>

which otherwise would be inaccessible.

urn:netbeans-org:apichanges:FoldOperation-owns-added [org.netbeans.modules.editor.fold] FoldOperation.owns(Fold) added 2008-03-03T00:00:00Z mmetelka mmetelka@netbeans.org

Added FoldOperation.owns(Fold) to check whether fold was produced by a particular FoldOperation.

urn:netbeans-org:apichanges:generification [org.netbeans.api.debugger] Use of some generic types in API; ContextProvider implemented more broadly; DebuggerManager.join 2008-03-01T00:00:00Z jglick jglick@netbeans.org

ContextProvider is now properly generified, and implemented also by:

  • DebuggerEngine
  • DebuggerInfo
  • DebuggerManager
  • Session

The new method DebuggerManager.join can be used to merge lookup lists easily.

urn:netbeans-org:apichanges:added.EditorStyleConstants.xxxBorderLineColor [org.netbeans.modules.editor.settings] Added border related constants to EditorStyleConstants 2008-02-28T00:00:00Z vstejskal vstejskal@netbeans.org

Several new constants were added to EditorStyleConstants to support drawing rectangular boxes around text in the editor.

urn:netbeans-org:apichanges:issue-128502 [org.netbeans.modules.db] Add ability to remove a database connection 2008-02-26T00:00:00Z davidvc davidvc@netbeans.org Add the ability to remove a database connection from the Database Explorer connection list urn:netbeans-org:apichanges:FileUtil.addFileChangeListener [org.openide.filesystems] Add methods: addFileChangeListener, removeFileChangeListener, refreshAll 2008-02-26T00:00:00Z rmatous rmatous@netbeans.org Added utility methods:
  • public static FileObject addFileChangeListener (final FileChangeListener fcl) to receive FileEvents from FileSystems providing instances of FileObject convertible to java.io.File
  • public static FileObject removeFileChangeListener (final FileChangeListener fcl) to no longer receive FileEvents from FileSystems providing instances of FileObject convertible to java.io.File
  • public static FileObject refreshAll () to refreshes all FileObject that represent files File.listRoots() and their children recursively.
urn:netbeans-org:apichanges:OpenIDE-Module-Hide-Classpath-Packages [org.openide.modules] Ability to hide JRE packages from the module classpath 2008-02-23T00:00:00Z jglick jglick@netbeans.org

Packages supplied in a module which overlap those in the JRE or its extensions will normally be ignored (as usual, the JRE takes precedence). Modules which wish to specifically suppress loading of some packages from the classpath can now request the class loader to do so by specifying:

OpenIDE-Module-Hide-Classpath-Packages: javax.lang.model.*, com.sun.source.**

(The syntax is analogous to that of OpenIDE-Module-Public-Packages.)

Such a declaration affects not just this module, but any other modules declaring a direct dependency on it (OpenIDE-Module-Module-Dependencies). The module is now free to bundle its own versions of these classes and be sure they will be used by it and its clients. Be aware that as with all changes to the normal class loading scheme, careless usage could result in LinkageErrors.

urn:netbeans-org:apichanges:per-document-visibility [org.netbeans.spi.palette] Palette visibility is defined per document-type. 2008-02-22T00:00:00Z saubrecht saubrecht@netbeans.org

Now it's possible to close the palette window while e.g. editing an HTML file and the palette will still show up when designing a form.

urn:netbeans-org:apichanges:xml.mimetypes [org.openide.loaders] XMLDataObject no longer enforces text/xml as document mimetype 2008-02-20T00:00:00Z mkleint mkleint@netbeans.org

Whenever possible the editor support and editor components will use the underlying FileObject's mimetype (as resolved by the mimetype resolvers).

urn:netbeans-org:apichanges:no-FileObject-for-module-JAR-entry [org.openide.modules] No longer possible to obtain a module JAR entry as a FileObject 2008-02-15T00:00:00Z jglick jglick@netbeans.org

Modules used to be able to obtain their own entries as file objects, e.g.:

FileObject f = URLMapper.findFileObject(ThisClass.class.getResource("something.xml"));

This is no longer supported. Client code should either use module classpath entries directly as URLs; or register files of interest in the XML layer and refer to them using the system filesystem.

urn:netbeans-org:apichanges:added.CodeTemplateDescription.getMimePath [org.netbeans.modules.editor.settings] Added CodeTemplateDescription.getMimePath 2008-02-14T00:00:00Z vstejskal vstejskal@netbeans.org

The CodeTemplateDescription.getMimePath and a new constructor were added to accomodate a mime path where a code template was registered.

urn:netbeans-org:apichanges:CompletionResultSet.setHasAdditionalItemsText [org.netbeans.modules.editor.completion] Addition of CompletionResultSet.setHasAdditionalItemsText() 2008-02-07T00:00:00Z dbalek dbalek@netbeans.org

void CompletionResultSet.setHasAdditionalItemsText(String text) was added to allow for customization of the text displayed in a completion popup whenever a CompletionProvider indicates that additional items could be added to the result set.

urn:netbeans-org:apichanges:ant-project-libraries [org.netbeans.modules.java.project] Support for project-specific libraries 2008-02-07T00:00:00Z mkleint mkleint@netbeans.org

A new utility class for helping project types create UI for sharable Libraries.

An additional protected method for use in ProjectClassPathModifierImplementation subclasses named performSharabilityHeuristics(URL,AntProjectHelper) that takes classpath roots and tries to find the best way to reference that jar/folder.

urn:netbeans-org:apichanges:observe-opening-closing [org.netbeans.modules.projectuiapi] Added ways to track projects opening and closing 2008-02-06T00:00:00Z mkubec mkubec@netbeans.org Added a method to track progress of projects opening and closing. As the opening of a project may take long time, and as there can be multiple projects open at once, it may be necessary to be notified that the process of open project list modification started or that it has finished. urn:netbeans-org:apichanges:ant-project-libraries [org.netbeans.modules.project.ant] Support for project-specific libraries 2008-01-22T00:00:00Z jglick jglick@netbeans.org

A new XML schema ( http://www.netbeans.org/ns/ant-project-libraries/1 ), several new API methods (AntProjectHelper.getProjectLibrariesPropertyProvider, AntProjectHelper.isSharableProject, AntProjectHelper.getLibrariesLocation, AntProjectHelper.setLibrariesLocation, ProjectGenerator.createProject(FileObject, String, String), ReferenceHelper.createForeignFileReferenceAsIs, ReferenceHelper.createExtraForeignFileReferenceAsIs, ReferenceHelper.copyLibrary, ReferenceHelper.getLibraryChooserImportHandler, ReferenceHelper.createLibraryReference, ReferenceHelper.getProjectLibraryManager, ReferenceHelper.findLibrary) and custom file chooser (FileChooser) provide support for collocated library definitions referred to from Ant-based projects.

urn:netbeans-org:apichanges:project-libraries [org.netbeans.modules.project.libraries] Support for project libraries 2008-01-22T00:00:00Z jglick jglick@netbeans.org

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.

urn:netbeans-org:apichanges:AttachJavadocSourceToJar [org.netbeans.modules.java.project] Added support classes for attaching javadoc/source to jar-based classpath items 2008-01-21T00:00:00Z mkleint mkleint@netbeans.org 3 new utility classes to allow attaching javadoc/source to existing jar dependencies of an Ant-based project. These classes are for use by project type owners. Specifically
  • ExtraSourceJavadocSupport.createExtraSourceQueryImplementation() and ExtraSourceJavadocSupport.createExtraJavadocQueryImplementation() create instances to be added to project's Lookup.
  • LookupMergerSupport.createSFBLookupMerger() and LookupMergerSupport.createJFBLookupMerger() provide simple implementations of lookup mergers for respective query implementations. A typical project implementation will put the lookup merger and the Extra*Support's instance in the project's lookup.
  • EditJarSupport.showEditDialog() is a facotry method for creating editing UI. To be added to Project's properties dialog preferably the "Libraries" panel. Client code (project type owner) is assumed to write down the ant properties source.reference.__name__ and javadoc.reference.__name__ in the same manner as file.reference.__name__ is persisted.
urn:netbeans-org:apichanges:FileUtil.refreshFor [org.openide.filesystems] Add method FileUtil.refreshFor(File... files) 2008-01-16T00:00:00Z rmatous rmatous@netbeans.org

Added helper method for refreshing all necessary filesystems, to get refreshed all instances of FileObject representing passed files and their children recursively.

urn:netbeans-org:apichanges:store-listener-added [org.netbeans.modules.projectuiapi] Added methods for creating customizer UI with additional listener for saving outside of AWT EQ 2008-01-09T00:00:00Z mkubec mkubec@netbeans.org New methods were added to allow to use additional listener for saving data after user presses OK button on Project Customzer UI. The listener will be executed after all OkListeners and will be executed off the AWT Event Queue. During save operation modal dialog with progress bar is displayed. urn:netbeans-org:apichanges:nbjcl [org.openide.modules] URL protocol for module resources changed 2008-01-09T00:00:00Z pnejedly pnejedly@netbeans.org

To support performance and functional improvements in module class loading, module resources are now loaded using a custom URL protocol, nbjcl. This can be observed e.g. using ThisClass.class.getResource("file.xml"). As before, the exact nature of the URL produced by a module class loader is formally left unspecified as this is specific to the module system implementation.

urn:netbeans-org:apichanges:FileUtil.runAtomicAction [org.openide.filesystems] Simple way to run atomic action without having a fileobject 2008-01-08T00:00:00Z rmatous rmatous@netbeans.org

Simple way to run atomic action without having a fileobject is ensured by adding two methods: FileUtil.runAtomicAction. All events about filesystem changes (related to events on all affected instances of FileSystem) are postponed after the whole code runned in atomic block is executed.

urn:netbeans-org:apichanges:Mutex.Wrapper [org.openide.util] Mutex made pluggable 2008-01-03T00:00:00Z jtulach jtulach@netbeans.org

Added new constructor Mutex(Privileged, Executor) that allows creators of the mutex to intercept and wrap all actions running inside the mutex with custom code.

urn:netbeans-org:apichanges:SpinButton.RepeatThread [org.openide.awt] Hidden field SpinButton.rt made accessible 2008-01-02T00:00:00Z jtulach jtulach@netbeans.org SpinButton used to have a field rt. The type of the field was a package private class. As such the field was inaccessible to API users. Because this is not checked as an error with our new signature test infrastructure, we made the type of the field visible.