Skip navigation links

NetBeans Architecture Answers for Editor Library module

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

Interfaces table

Group of java interfaces
Interface NameIn/OutStabilitySpecified in What Document?
EditorHyperlinkSPIExportedUnder Development

Hyperlink SPI in org.netbeans.lib.editor.hyperlink.spi allows the editors for a particular mime-type to respond to the situation when a user hovers over the text with a Ctrl key pressed.

EditorLibraryModuleAPIExportedUnder Development

Editor defines APIs and SPIs both by
  • Providing java classes in public packages for further reuse.
    Most of the classes were created spontaneously (several years ago) without fulfilling of the rules imposed on APIs and SPIs at the present time.
    There is an ongoing work to revisit the existing classes and create stable APIs and SPIs (and possibly extract functionality into a submodule where appropriate). However this is a long-term task spanning several promotions.
  • Being sensitive to content of certain directories in xml layer.

CodeFoldingAPIImportedOfficial .../architecture-summary.html


Set of various editor-related utility classes and methods.

JAXPImportedStandard .../java/technologies/jaxp-introduction.html

Standard XML APIs (DOM, SAX) - distributed with the IDE (in lib/ext/xml-apis*.jar), already part of JDK 1.4 and newer).

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

Document property containing mime-type of the particular document e.g. "text/x-java".
It allows to search for particular editor settings based on the mime-type such as tooltip annotations providers etc.
Maintained by org.openide.text package.


Document property containing either DataObject or FileObject from which the Document content was loaded.
Maintained by org.openide.text package.


Component client property that determines a column index where a text limit line will be displayed. This overrides a default value from editor settings for a particular component.


Document property containing line separator that was used when the document content was loaded from a by an


Document property that determines the number of characters in the longest line determined during the document loading from a reader by the editor kit.

CARET_MIN_WIDTHExportedUnder Development

Component client property that provides an IntUnaryOperator which is invoked with a document offset and returns a minimum caret width. This overrides a constant 2 minimum caret width.


The client property must be defined on JTextComponent managed by the NetBeans editor.

Mouse gestures require to determine whether the point at caret is folded or not. Plain text is then selected. The client property org.netbeans.api.fold.expander (if defined) should contains a Callable<Boolean> that returns false, if the point is a plaintext, true otherwise. Fold expansion should be handled by the Callable.

editor.fold module uses this client property to hook into BaseCaret processing.

Group of systemproperty interfaces
Interface NameIn/OutStabilitySpecified in What Document?

System property to deubg inserts and removals done in the document.


System property to dump thread stacks during inserts and removals done in the document.


System property to debug loading of the document from a by an EditorKit.


System property to debug undoing/redoing of the modifications done in the document.


System property to debug the view regions being rebuilt during document modifications.


System property to debug paint operations done in views (clipping regions sizes etc.).


System property to debug when repaints are initiated in views.


System property to debug the tokens that the drawing engine is rendering.


System property to debug particular fragments of the text being rendered by the editor's drawing engine.


System property to debug graphics operations that the editor sends to a java.awt.Graphics of the component being rendered.


System property to debug particular token modifications during the text formatting process.


System property to debug when a focus is gained and lost by the editor's caret.


System property to debug details of a focus related processing of the editor's caret (e.g. caret blinking timer etc.).


System property to debug when atomic transactions are performed over the editor's document.


System property to debug thread stacks during atomic transactions performed over the editor's document.


System property to debug execution of the editor's warmup task (e.g. time intervals that each warmup section takes etc.).


System property to debug creation of the editor's popup menu. It shows the added popup menu item's text, whether it's invisible and action that produced the item.


Obsolete now, we will remove those when time allows.


To determine the line separator on a particular platform.


To specify modifiers for which the hyperlinking should be enabled, or to switch the hyperlinking off. Valid values are "[CSMA]+" (to specify combination of modifiers) or "off" (to switch hyperlinking off).

General Information

Project and platform dependencies


Compatibility with environment

Access to resources

Lookup of components

Execution Environment

Format of files and protocols

Performance and Scalability