IndexingAPI
Indexing API allows all clients to request (re)indexing of a certain
index, or certain root of project sources. Indexing SPIs allow module
owners to implement indexer for a particular feature or language.
This API was historically part of Parsing API,
but was separated into its own module.
- Apr 14 '15 Added custom camel case support into
QuerySupport
Added a support for custom camel case separators and custom camel case parts into QuerySupport
- Apr 20 '14 Indexing API separated to its own module
Historically the module offered both APIs for Parsing (invoking parser, implementing parser) and
Indexing (refresh index, index SPIs). Those APIs are typically used by unrelated pieces of code,
possibly with the exception of "refresh" actions.
The indexing now resides separately in its parsing.indexing
module. Binary compatibility
is kept by using module-auto-deps.xml.
Please also refer to the API Changes document of the parental module.
Use Cases
-
Indexing API client may request that some or all indexes should be
rebuilt for a certain or all project source roots, or certain files. The indexing
infrastructure eventually rebuilds the indexes. The API client may
choose to wait for the indexing to complete.
-
Module implementor may plug into the indexing system by declaring a
CustomIndexer, BinaryIndexer, or EmbeddingIndexer. The implementation
is called at appropriate time to generate or refresh index information
for portion of project sources.
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 Name | In/Out | Stability | Specified in What Document? |
IndexingAPI | Exported | Stable | index.html
|
|
Group of logger interfaces
Interface Name | In/Out | Stability | Specified in What Document? |
org.netbeans.ui.indexing | Exported | Under Development |
Since version 1.47 the RepositorUpdater cooperates with UI Gestures Collector
by sending following messages to the org.netbeans.ui.indexing logger:
-
INDEXING_STARTED - message about a start of indexing (up to date check). Arguments:
- {0}: Long - the time from the last indexing
-
INDEXING_FINISHED - message about an end of indexing (up to date check). Arguments:
- {0}: Long - the time of indexing
- For each indexer following 3 records are logged
- {1}: String - name of indexer
- {2}: Integer - indexer invocation count
- {3}: Integer - indexing time spent in given indexer
|
|
Implementation Details
Where are the sources for the module?
The sources for the module are in the
NetBeans Mercurial repositories.
What do other modules need to do to declare a dependency on this one, in addition to or instead of a plain module dependency?
XXX no answer for deploy-dependencies
Read more about the implementation in the answers to
architecture questions.