See: Description
Package | Description |
---|---|
org.netbeans.api.project |
General API for finding and manipulating all kinds of projects.
|
org.netbeans.spi.project |
Support for defining project types.
|
org.netbeans.spi.project.support |
ProjectAPI
The Project API defines abstract projects. These are groupings of files built and
manipulated as units. It is used for Ant-based projects but could support
other scenarios such as makefiles. Modules can plug in project types which can
recognize certain folders as being projects, and define their behaviors.
Besides the visible Javadoc, this module permits a project to add implementations
of org.netbeans.spi.queries.FileBuiltQueryImplementation
,
org.netbeans.spi.queries.SharabilityQueryImplementation
and
org.netbeans.spi.queries.FileEncodingQueryImplementation
into the project lookup (rather than global lookup).
The implementations will be consulted only in the case the relevant file
belongs to that project (according to org.netbeans.api.project.FileOwnerQuery
).
This helps avoid the need to consult irrelevant query implementations.
ProjectActionContext
that can pass action-like environment to project queries
ProjectActionContext
can be used
to inform various project queries about the intended action or environment for which the value is requested. This
contract is optional for query implementors.
ProjectUtils.get/setActiveConfiguration
convenience methods
Clients do not need to interact with Project's Lookup and ProjectConfigurationProvider directly, handling missing provider and mutex; they can use the convenience API method.
ActionProvider.COMMAND_PRIME
that initializes the project for IDE use.
ActionProvider.COMMAND_PRIME
was introduced, so that
projects can declare (and enable/disable as needed) an action that "primes" or initializes the project for the IDE. That often includes
downloads, or partial build, which may produce messages, and could be automated by project-opening code.
ParentProjectProvider
and RootProjectProvider
to improve project hierarchy discovery
ParentProjectProvider
and
RootProjectProvider
with correspondig
utility methods in RootProjectProvider
to improve project hierarchy discovery.
SourceGroupRelativeModifierImplementation
to improve source root creation
In presence of multiple source roots, e.g. several source folders, or test folders, some of them may be more related to the
The SPI should be used by modules defining particular project types, e.g. the J2SE project type. The API is to be used primarily by GUI infrastructure and some queries, though other module code may on occasion need to refer to the API.
|
|
Read more about the implementation in the answers to architecture questions.