NetBeans Architecture Answers for Text API module

WARNING: answering questions version 1.12 rather than the current 1.29.

Interfaces table

Group of java interfaces
Interface NameIn/OutStabilitySpecified in What Document?
EditorAPIExportedOfficial .../org/openide/text/doc-files/api.html

NodesAPIImportedOfficial .../org/openide/nodes/doc-files/api.html

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

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

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

SettingsAPIImportedOfficial .../org/openide/options/doc-files/api.html

WindowSystemAPIImportedOfficial .../org/openide/windows/doc-files/api.html

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

MimeLookupAPIImportedOfficial

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

org.openide.awtImportedOfficial

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

DialogsAPIImportedOfficial

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

ModulesAPIImportedOfficial

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

WeakListener.setAccessibleImportedUnder Development

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

LookupAPIImportedOfficial

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

EditorKitInitializationExportedFriend

In order to speedup, or remove the load of initialization of kit in AWT during startup, there is a special API that allows to ask the kit to pre-initialize. If the kit implements Callable interface from JDK, it is called in non-AWT thread. This works since version 6.18 and can be disabled by property oldInitialization.

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

Property hold instance of
IndentEngine and this indentation engine is used instead of system one.

javax.swing.text.Document.StreamDescriptionPropertyImportedStable

Property hold instance of
DataObject from which the document was created. This property can be used by the modules and is part of the Editor API.

javax.swing.text.Document.TitlePropertyImportedStable

Property hold instance of String with name of the file being edited. This property can be used by the modules and is part of the Editor API.

javax.swing.text.Document.modificationListenerExportedFriend

In order to fix
issue 51872 the openide needs a way how to be notified about change of a document outside of its Document lock. DocumentListeners are always notified under the lock, so a special contract has been established (since version 5.3) by registering an instance of VetoableListener by calling putProperty ("modificationListener", listener). The NetBeans aware documents are adviced to honor this property and call the listener outside of the document lock when a modification is made. The actual contract of the call can be seen in NbLikeEditorKit.java in methods insertString and remove.

beforeSaveRunnableExportedFriend

Document property that allows to execute a runnable before save of a document is performed. For example an extra whitespace accumulated during typing can be removed by exploiting this property.

expectedTimeExportedFriend

CloneableEditorSupport understands not only its Env.TIME property, but also special "expectedTime". When this one arrives, it means refresh its internal last saved time, but without any refresh. This functionality is used from DataEditorSupport when the DataObject is moved to new location and we need to adjust the time to the new file object.

usedByCloneableEditorExportedFriend

Component client property which is set to Boolean.TRUE if an editor pane is actively used by a cloneable editor. Once the component gets closed the CloneableEditor sets the property to Boolean.FALSE.

oldInitializationExportedUnder Development

As the speedup of startup done in version 6.18 is not fully compatible, there is a way to get back the original behaviour: just use this.putClientProperty("oldInitialization", Boolean.TRUE) and the whole initialization will be done in AWT thread. This is generally slower, but compatible.

org.openide.text.CloneableEditor.oldInitializationExportedPrivate

In order to measure startup improvements between AWT and non-AWT startup, we have a property dedicated to testing that can switch all editors to be opened in AWT. Just start NetBeans with -J-Dorg.openide.text.CloneableEditor.oldInitialization=true. This property may be discontiued anytime.

Group of layer interfaces
Interface NameIn/OutStabilitySpecified in What Document?
Editors-TabActionsExportedUnder Development

Actions for the editor tab (window) context menu can be injected into Editors/TabActions.


General Information


Project and platform dependencies


Deployment


Compatibility with environment


Access to resources


Lookup of components


Execution Environment


Format of files and protocols


Performance and Scalability


Built on October 16 2017.  |  Portions Copyright 1997-2017 Oracle. All rights reserved.