NetBeans Loaders API

What is New (see all changes)?

See:
          Description

Loaders API
org.openide.actions  
org.openide.awt  
org.openide.loaders Datasystems are the logical layer between a filesystem and the regular functions of the IDE.
org.openide.text  

 

What is New (see all changes)?

Use Cases

A lot of usecases is described in the javadoc. Here is the list of some faqs:
How to add action to folder's popup menu?
The actions that the default folder loader shows in its popup menu are read from a layer folder Loaders/folder/any/Actions so if any module wishes to extend, hide or reorder some of them it can just register its actions there. As code like this does:
    <folder name="Loaders" >
        <folder name="folder" >
            <folder name="any" >
                <folder name="Actions" >
                    <file name="org-mymodule-MyAction.instance" >
                        <attr name="instanceCreate" stringvalue="org.mymodule.MyAction" />
                    </file>
                </folder>
            </folder>
        </folder>
    </folder>
    
As described in general actions registration tutorial.

This functionality is available since version 5.0 of the loaders module. Please use OpenIDE-Module-Module-Dependencies: org.openide.loaders > 5.0 in your module dependencies.
How to allow others to enhance actions of your loader?
If you want other modules to enhance or modify actions that are visible on DataObjects produced by your DataLoader and you are either using DataNode or its subclass, you can just override protected String actionsContext() method to return non-null location of context in layers from where to read the actions.

The usual value should match Loaders/mime/type/Actions scheme, for example java is using Loaders/text/x-java/Actions, but the name can be arbitrary.

This functionality is available since version 5.0 of the loaders module. Please use OpenIDE-Module-Module-Dependencies: org.openide.loaders > 5.0 in your module dependencies.

Exported Interfaces

This table lists all of the module exported APIs with defined stability classifications. It is generated based on answers to questions about the architecture of the module. Read them all...
Group of java interfaces
Interface NameIn/OutStabilitySpecified in What Document?
LoadersAPIExportedOfficial .../openide/loaders/doc-files/api.html

Group of layer interfaces
Interface NameIn/OutStabilitySpecified in What Document?
Loaders-folder-any-ActionsExportedStable

The actions that the default folder loader shows in its popup menu are read from a layer folder Loaders/folder/any/Actions so if any module wishes to extend, hide or reorder some of them it can just register its actions there.

PrivilegedTemplatesExportedUnder Development

A folder Privileged offers to other module possibility add own templates.

RecentTemplatesExportedPrivate

A folder Recent stores a set of recently used templates, it's not open to other module.

Group of property interfaces
Interface NameIn/OutStabilitySpecified in What Document?
NetBeansAttrAssignedLoaderExportedStable

Extended attribute for holding the class of the loader that should be used to recognize a file object before the normal processing takes place.

NetBeansAttrAssignedLoaderModuleExportedPrivate

Extended attribute which may be used in addition to EA_ASSIGNED_LOADER which indicates the code name base of the module that installed that preferred loader. If the indicated module is not installed, ignore the loader request. See #13816.

templateExportedStable

If set to Boolean.TRUE the file is recognized as template and its instantiation is allowed.

isRemoteAndSlowExportedPrivate

NewObjectWizardPanel: The Attribute "isRemoteAndSlow" will be checked for on the targetFolder, and if it is found and true, then targetFolder.getPrimaryFile().getFileObject will NOT be called.

templateWizardURLExportedStable

Attribute that defines a template wizard description page (type URL to HTML).

templateWizardIteratorExportedStable

Attribute that defines a custom template wizard iterator (type TemplateWizard.Iterator).

originalFileExportedStable

Path to the target file in its filesystem (type String).

originalFileSystemExportedStable

System name of filesystem of target file (type String; default is same as that of shadow).

UseOwnNameExportedPrivate

if true, the DataShadow name is used instead of original's name, affects DataShadows of filesystem roots only

PartialOrdersExportedStable

Read the list of intended partial orders from disk. Each element is a string of the form a/b for a, b filenames with extension, where a should come before b. The value of the attribute must be of type Boolean; ignored unless true.

OpenIDE-Folder-SortModeExportedPrivate

Extended attribute for order of children. The values are "F", "N", "C", "0" (type String).

OpenIDE-Folder-OrderExportedPrivate

Extended attribute for order of children - stores list of file names separated by '/' (type String).

EA-OpenIDE-ConnectionExportedPrivate

Extended attribute to store (ArrayList of Type and Node.Handle). Used by Java synchronization feature at least; generally, ConnectionCookie.

org.openide.loaders.FolderList.refresh.intervalExportedPrivate

The value of type integer determines the number of milliseconds between successive refreshes of contents of a folder. Can be used to tweak performance of folder refresh. Defaults to 10.

netbeans.dataobject.insecure.operationExportedFriend

If set to true, the DataObject.copy, move, createFromTemplate are executed in insecure way. That means that other threads can access the products of such operation before it finishes. This is a friend contract with projects, that need to do such strange things. Will be removed when they fix it.

Dependencies

This module depends on following projects
Group of java interfaces
Interface NameIn/OutStabilitySpecified in What Document?
FilesystemsAPIImportedOfficial .../openide/filesystems/doc-files/api.html

LookupAPIImportedOfficial .../org/openide/util/doc-files/api.html

UtilitiesAPIImportedOfficial .../org/openide/util/doc-files/api.html

org.openide.utilImportedUnder Development../org-openide-util/overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 6.2 is required.

org.openide.filesystemsImportedUnder Development .../overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 6.2 is required.

org.openide.nodesImportedUnder Development .../overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 6.2 is required.

org.openide.dialogsImportedUnder Development .../overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 6.2 is required.

org.openide.modulesImportedUnder Development .../overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 6.2 is required.

org.openide.awtImportedUnder Development../org-openide-awt/overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 6.2 is required.

org.openide.explorerImportedUnder Development .../overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 6.2 is required.

org.openide.actionsImportedUnder Development .../overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 6.2 is required.

org.openide.textImportedUnder Development../org-openide-text/overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 6.2 is required.

org.openide.windowsImportedUnder Development .../overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 6.2 is required.


 

Built on July 12 2005.  |  Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.