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 EmbeddingProvider
s.
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 EmbeddingProvider
s.
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.
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 EmbeddingProvider
s.
EmbeddingProvider
; made by: tzezula; issues:
#218148
Added EmbeddingProvider.Registration
annotation to register EmbeddingProvider
s.
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 ParserResultTask
s 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 PathRecognizer
s.
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 CustomIndexer
s and BinaryIndexer
s 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.