The supplied dates indicate when the API change was made, on the CVS trunk. From this you can generally tell whether the change should be present in a given build or not; for trunk builds, simply whether it was made before or after the change; for builds on a stabilization branch, whether the branch was made before or after the given date. In some cases corresponding API changes have been made both in the trunk and in an in-progress stabilization branch, if they were needed for a bug fix; this ought to be marked in this list.
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.
SuspendStatus.isSuspendSupported
QuerySupport.findRoots mapping class paths roots by projects.
QuerySupport.Query.file factory for query searching index documents created for given file.
CancelSupport for thread safe testing of SchedulerTask cancelling.
Sheduler.getSource method for obtaining the active source
EmbeddingIndexer
QuerySupport to allow composite queries.
QuerySupport.findDependentRoots to find out source roots depending on given source root.
EmbeddingProvider.Registration annotation to register EmbeddingProviders.
SuspendStatus service which can be used by indexers to find out if
indexing is suspended.
IndexingAwareParserResultTask which is a specialization of ParserResultTask
which can be executed during scan.
ConstrainedBinaryIndexer.Registration.namePattern to allow indexers to use name pattern rather than expensive
mime type.
ConstrainedBinaryIndexer to prevent indexer creation when constrained are not fulfilled.
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: $codebase > 1.20
SuspendStatus.isSuspendSupported
QuerySupport.findRoots mapping class paths roots by projects.
QuerySupport.Query.file factory for query searching index documents created for given file.
CancelSupport for thread safe testing of SchedulerTask cancelling.
Sheduler.getSource method for obtaining the active source
EmbeddingIndexer
QuerySupport to allow composite queries.
QuerySupport.findDependentRoots to find out source roots depending on given source root.
EmbeddingProvider.Registration annotation to register EmbeddingProviders.
SuspendStatus service which can be used by indexers to find out if
indexing is suspended.
IndexingAwareParserResultTask which is a specialization of ParserResultTask
which can be executed during scan.
ConstrainedBinaryIndexer.Registration.namePattern to allow indexers to use name pattern rather than expensive
mime type.
ConstrainedBinaryIndexer to prevent indexer creation when constrained are not fulfilled.
org.netbeans.modules.parsing.spi.support.CancelSupport
org.netbeans.modules.parsing.spi.indexing.ConstrainedBinaryIndexer
ConstrainedBinaryIndexer.Registration.namePattern to allow indexers to use name pattern rather than expensive
mime type.
ConstrainedBinaryIndexer to prevent indexer creation when constrained are not fulfilled.
org.netbeans.modules.parsing.spi.indexing.Context
SuspendStatus service which can be used by indexers to find out if
indexing is suspended.
org.netbeans.modules.parsing.spi.EmbeddingProvider
org.netbeans.modules.parsing.spi.indexing.ErrorsCache
org.netbeans.modules.parsing.spi.IndexingAwareParserResultTask
IndexingAwareParserResultTask which is a specialization of ParserResultTask
which can be executed during scan.
org.netbeans.modules.parsing.api.indexing.IndexingManager
EmbeddingIndexer
org.netbeans.modules.parsing.spi.Parser
org.netbeans.modules.parsing.spi.indexing.PathRecognizerRegistration
org.netbeans.modules.parsing.spi.indexing.support.QuerySupport
QuerySupport.findRoots mapping class paths roots by projects.
QuerySupport.Query.file factory for query searching index documents created for given file.
QuerySupport to allow composite queries.
QuerySupport.findDependentRoots to find out source roots depending on given source root.
org.netbeans.modules.parsing.spi.Scheduler
org.netbeans.modules.parsing.spi.SourceModificationEvent
org.netbeans.modules.parsing.spi.indexing.SuspendStatus
SuspendStatus.isSuspendSupported
SuspendStatus service which can be used by indexers to find out if
indexing is suspended.
org.netbeans.modules.parsing.spi.TaskIndexingMode
IndexingAwareParserResultTask which is a specialization of ParserResultTask
which can be executed during scan.
Parser; made by: jlahoda
Adding a new method, Parser.Result.processingFinished, used to mark a result as completely finished, or not completely finished.
SuspendStatus.isSuspendSupported
org.netbeans.modules.parsing.spi.indexing.SuspendStatus; made by: tzezula
SuspendStatus.isSuspendSupported which test if active indexing task
supports suspending.
QuerySupport.findRoots mapping class paths roots by projects.
org.netbeans.modules.parsing.spi.indexing.support.QuerySupport; made by: tzezula
QuerySupport.findRoots mapping class paths roots by projects.
In the presence of multiple scopes or users, the parsing system needs to access the proper context even though the work is done by different threads. It also has to propagate the proper context back to the user tasks.
Source can now be created with a Lookup that provides such proper context, or automatically uses Lookup.getDefault if no explicit Lookup is given.
QuerySupport.Query.file factory for query searching index documents created for given file.
org.netbeans.modules.parsing.spi.indexing.support.QuerySupport; made by: tzezula
QuerySupport.Query.file factory for query searching index documents created for given file.
The Parsing API dependended on Windows System, Editor Registry, Data Systems and other IDE artifacts. All those
dependencies were externalized as 'private SPIs' in the package org.netbeans.modules.parsing.impspi.
The implementation that uses the other NetBeans IDE APIs resides in module parsing.nb.
No API change was done, but the execution now relies on a proper binding to be present in the running application
or a testsuite.
Basic testing environment was provided in unit tests, which implements basic of the externalized functions. However
if a test need to check reparsing after document change, or data object change. Full implementation may be needed -
the implementor can use a test-dependency to the org.netbeans.modules.parsing.nb module.
CancelSupport for thread safe testing of SchedulerTask cancelling.
CancelSupport; made by: tzezula
CancelSupport for thread safe testing of SchedulerTask cancelling.
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 refer to the API Changes document of the new module for entries related to moved classes.
Sheduler.getSource method for obtaining the active source
Scheduler; made by: tzezula; issues:
#199357
Added protected final method Schedulter.getSource allowing Scheduler subclasses
to obtain the active Source rather than caching it itself.
EmbeddingIndexer
org.netbeans.modules.parsing.api.indexing.IndexingManager; made by: sdedic; issues:
#218534
IndexingManager.refreshAllIndices now accepts names of EmbeddingIndexers
so that embeddings can be reindexed.
QuerySupport to allow composite queries.
org.netbeans.modules.parsing.spi.indexing.support.QuerySupport; made by: tzezula; issues:
#170915
Extended the QuerySupport to allow composite queries with bool operators.
QuerySupport.findDependentRoots to find out source roots depending on given source root.
org.netbeans.modules.parsing.spi.indexing.support.QuerySupport; made by: tzezula; issues:
#227363
Added a QuerySupport.findDependentRoots method returning the dependent source roots for given source root.
It returns all the source roots which have either direct or transitive dependency on the given source root.
EmbeddingProvider.Registration annotation to register EmbeddingProviders.
EmbeddingProvider; made by: tzezula; issues:
#218148
Added EmbeddingProvider.Registration annotation to register EmbeddingProviders.
The registration provides a mime type of a generated embedding which allows the infrastructure to correctly
handle embedded indexes.
SuspendStatus service which can be used by indexers to find out if
indexing is suspended.
org.netbeans.modules.parsing.spi.indexing.SuspendStatus org.netbeans.modules.parsing.spi.indexing.Context; made by: tzezula; issues:
#208378
The indexing is suspended by the infrastructure when high priority request like index query or execution
of UserTask, ParserResultTask is in progress. The SuspendStatus
allows indexers to find out that indexing is suspended or to park while it's suspended.
IndexingAwareParserResultTask which is a specialization of ParserResultTask
which can be executed during scan.
IndexingAwareParserResultTask TaskIndexingMode; made by: tzezula; issues:
#207459
The ParserResultTasks are not executed during the scan to keep the semantic backward compatibility.
A specialization of the ParserResultTask the IndexingAwareParserResultTask was added.
The IndexingAwareParserResultTask can be executed during the scan.
ConstrainedBinaryIndexer.Registration.namePattern to allow indexers to use name pattern rather than expensive
mime type.
org.netbeans.modules.parsing.spi.indexing.ConstrainedBinaryIndexer; made by: tzezula; issues:
#205574
Added ConstrainedBinaryIndexer.Registration.namePattern to allow indexers to use name pattern rather than expensive
mime type for those indexers which do not have required resource and use mime type which require reading of content.
ConstrainedBinaryIndexer to prevent indexer creation when constrained are not fulfilled.
org.netbeans.modules.parsing.spi.indexing.ConstrainedBinaryIndexer; made by: tzezula; issues:
#200050
Added ConstrainedBinaryIndexer to prevent indexer creation and calling when declared
constraints are not fulfilled. The ConstrainedBinaryIndexer allows an indexer to specify
constraints which need to be fulfilled, the check is done by infrastructure before the indexer is loaded.
org.netbeans.modules.parsing.api.indexing.IndexingManager; made by: tzezula; issues:
#196930
Adding refreshIndexAndWait method into the IndexingManager allowing to specify if indexers should use modified content of editors.
org.netbeans.modules.parsing.api.indexing.IndexingManager; made by: tzezula; issues:
#194564
Adding refreshIndex method into the IndexingManager allowing to specify if indexers should use modified content of editors.
SourceModificationEvent Parser; made by: tzezula; issues:
#190933
Adding Parser.cancel method with parameters describing the reason of cancel. This information can be used by the parser to optimize the cancel behavior.
org.netbeans.modules.parsing.spi.indexing.PathRecognizerRegistration; made by: vstejskal; issues:
#169991
Added PathRecognizerRegistration annotation that simplyfies registering PathRecognizers.
org.netbeans.modules.parsing.spi.indexing.ErrorsCache; made by: jlahoda; issues:
#179459
Added ErrorsCache, that allows the indexers to simply set errors that should be show as badges in the projects tab and
in the tasklist.
The methods scanStarted and scanFinished were added to
BinaryIndexerFactory class in order to notifying binary indexers
that a binary root is going to be scanned or that its scanning just finished.
Added IndexingManager.refreshAllIndices(boolean fullRescan, boolean wait, File... filesOrFolders),
<T> T IndexingManager.runProtected(Callable<T> operation)
Added refreshAllIndices(boolean fullRescan, boolean wait, FileObject... folders).
Added methods IndexingSupport.createDocument(FileObject) and IndexResult.getIndexable()
in order to allow CustomIndexers and BinaryIndexers to use
IndexingSupport.
Added a method for checking an index validity. The method should be called by IndexerFactories to check the index integrity and prevent exceptions during the run on the IDE when the index is broken (for example the IDE was killed during write to the index).
Added scanStarted and scanFinished methods for notifying indexers about start and finish of the indexing of given root. Refactored EmbeddingIndexerFactory and CustomIndexerFactory to move up common methods into super class SourceIndexerFactory.
Modified CustomIndexerFactory, EmbeddingIndexerFactory and BinaryIndexerFactory
to have a method rootsRemoved(Iterable<? extends URL>).This method is used to notify indexers about unused roots.
Indexers may do a clean up of memory caches or close indexes.
Modified CustomIndexerFactory and EmbeddingIndexerFactory
to have methods filesDeleted(Iterable<? extends Indexable> deleted, Context context);
and filesDirty(Iterable<? extends Indexable> deleted, Context context);.
These two methods supersede thier older version, which accepted Collection rather
than Iterable. The new methods allow the infrastructure to optimize files crawling
and improve the overall performance of scanning.
Added Context.isSourceForBinaryRootIndexing() in order to further
optimize java indexing.
Added IndexingManager.refreshIndex(URL root, Collection<? extends URL> files, boolean forceRefresh)
and IndexingManager.refreshIndexAndWait(URL root, Collection<? extends URL> files, boolean forceRefresh).
Added Indexable.getMimeType(), Context.isCancelled().
Removed Indexabe.getName(), Indexable.getLastModified(),
Indexable.openInputStream().
Fixing typo in IndexingManager.refreshAllIndicies(String) method
name. Technically this method was removed and a new one called
IndexingManager.refreshAllIndices(String) was created. The same happened
for IndexingManager.refreshAllIndicies(FileObject...).
Adding Context.checkForEditorModifications() in order to
signal indexers whether they should or should not care about editor documents.
Adding IndexResult.getRoot() and IndexResult.getRelativePath()
methods.
Adding IndexingManager.refreshAllIndicies(String) method
for refreshing all indices created by a given indexer.
Adding two QuerySupport.findRoots(...) methods that can be used
for finding classpath roots from classpaths marked with specific IDs
and supplied by specific project.
Adding IndexingManager.refreshIndexAndWait(URL, Collection<? extends URL>)
for synchronous index refreshing.
Adding CustomIndexerFactory.filesDirty,
EmbeddingIndexerFactory.filesDirty and IndexingSupport.markDirtyDocuments
in order to support on-the-fly reindexing of files modified in the
editor.
Adding IndexingManager class, which allows requesting
to reindex a set of files. Also adding addSupplemntaryFiles
and isSupplementaryFilesIndexing methods to Context
class in order to allow indexers to request reindexing of additional files.
Adding Snapshot.getTokenHierarchy() in order to provide
effective way for accessing lexer tokens created from a Snapshot.
Creating Parsing API.