Introduction

This document lists changes made to the MasterFileSystem 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.masterfs > 1.20

Changes by affected class

org.netbeans.modules.masterfs.providers.AnnotationProvider

org.netbeans.modules.masterfs.providers.AutoMountProvider

org.netbeans.modules.masterfs.providers.BaseAnnotationProvider

org.netbeans.modules.masterfs.providers.FileSystemProvider

org.netbeans.modules.masterfs.providers.MountSupport

org.netbeans.modules.masterfs.providers.Notifier

org.netbeans.modules.masterfs.providers.ProvidedExtensions


Details of all changes by API and date


MasterFileSystem API

Split image handling into UI module

Oct 3 '14; API spec. version: 2.50; affected top-level classes: BaseAnnotationProvider; made by: sdedic; issues: #247200
Image handling moved to masterfs.ui module, AnnotationProvider API changed.
Binary-compatible

Deprecating actions(Set of FileObjects)

May 14 '14; API spec. version: 2.48; affected top-level classes: org.netbeans.modules.masterfs.providers.AnnotationProvider; made by: jtulach; issues: #243265
Adding findExtrasFor method to replace direct reference to javax.swing.Actions. See AnnotationProvider in masterfs.ui module.

A property to suspend native listeners

Jan 11 '13; API spec. version: 2.42; made by: jtulach; issues: #222193
A way to temporarily suspend native listeners.

fileLocked method can throw IOException

Mar 2 '12; API spec. version: 2.37; affected top-level classes: ProvidedExtensions; made by: jtulach; issues: #208657
Changing the fileLocked method to throw IOException is source incompatible, but binary compatible. As masterfs friends are always compiled at the same time as masterfs, and even if they will not, they will link (as the change is binary compatible), we modified the method signature to throw IOException
Binary-compatible

External change notifiers in separate modules

Dec 31 '11; API spec. version: 2.36; affected top-level classes: Notifier; made by: jtulach; issues: #206434
Implementation of native listeners has been moved to separate modules, so the masterfs itself does not depend on JNA library.

Determine if a ProvidedExtensions instance should be used to get a files canWrite() value

Feb 1 '11; API spec. version: 2.30; affected top-level classes: ProvidedExtensions; made by: tstupka; issues: #194683
Introduced a new constructor parameter providesCanWrite to specify if a ProvidedExtensions instance is meant to provide the canWrite() value for a file.

Delegate FileObject.copy() to ProvidedExtensions

Aug 27 '10; API spec. version: 2.28; affected top-level classes: ProvidedExtensions; made by: tstupka; issues: #189921
ProvidedExtensions.getCopyHandler() allows to delegate a copy operation.

Guaranteed event order when deleting and creating files and new calls in ProvidedExtensions

Jun 22 '10; API spec. version: 2.27; affected top-level classes: ProvidedExtensions; made by: tstupka; issues: #133855

ProvidedExtensions.priorityIO to suspend background refresh

May 12 '10; API spec. version: 2.25; affected top-level classes: ProvidedExtensions; made by: jtulach; issues: #181684

ProvidedExtensions.priorityIO allows parsing API to suspend background I/O activity after refresh of main window.

ProvidedExtensions.refreshRecursively was added.

Apr 16 '10; API spec. version: 2.24; affected top-level classes: ProvidedExtensions; made by: jtulach; issues: #181684

ProvidedExtensions.refreshRecursively allows various version control providers to get better control on behavior of recursive listener.

ProvidedExtensions.canWrite was added.

Mar 20 '08; API spec. version: 2.14; made by: msandor; issues: #130044

ProvidedExtensions.canWrite which is called when MasterFileSystem queries the FileObject for writability.

Fileobject instances are not issued after external changes

Jan 8 '08; API spec. version: 2.13; made by: rmatous; issues: #123542
FileObject instances are not guaranteed to be issued if files, folders were not created, deleted, modified by FileSystem API and method refresh wasn't properly called. These methods were semantically changed:

Method FileUtil.toFileObject should still work as before.

Simplify MasterFS, do not delegate on other embedded FS

Jan 8 '08; API spec. version: 2.13; affected top-level classes: org.netbeans.modules.masterfs.providers.MountSupport org.netbeans.modules.masterfs.providers.FileSystemProvider org.netbeans.modules.masterfs.providers.AutoMountProvider; made by: rmatous; issues: #123542
Friend contract for org.netbeans.modules.vcscore broken. Following classes deleted: MountSupport, FileSystemProvider, AutoMountProvider

ProvidedExtensions.fileLock and ProvidedExtensions.fileUnlock was added.

Jun 15 '07; API spec. version: 1.11; affected top-level classes: ProvidedExtensions; made by: rmatous; issues: #106479

ProvidedExtensions.fileLock which is called after MasterFileSystem locks FileObject

ProvidedExtensions.fileUnlock which is called after FileObject is unlocked.

ProvidedExtensions.beforeChange was added.

Feb 12 '07; API spec. version: 1.10; affected top-level classes: ProvidedExtensions; made by: rmatous; issues: #92676

ProvidedExtensions.beforeChangewhich is called by MasterFileSystem when FileObject is going to be modified by asking for OutputStream.

ProvidedExtensions.getDeleteHandler was added.

Aug 8 '06; API spec. version: 1.9; affected top-level classes: ProvidedExtensions; made by: rmatous; issues: #81510

ProvidedExtensions.getDeleteHandler was added, which is the way how to impose handlers for deleting into mastersfs implementation which was required by module org.netbeans.modules.subversion.

ProvidedExtensions was added.

Apr 24 '06; API spec. version: 1.9; affected top-level classes: ProvidedExtensions; made by: rmatous; issues: #73042

ProvidedExtensions was added. Registering subclass of ProvidedExtensions as a substitution of InterceptionListener is the way how to impose handlers for renaming and moving into mastersfs implementation which was required by module org.netbeans.modules.subversion.