Interface Sources
public interface Sources
Optional interface for a project to enumerate folders containing sources
of various kinds.
Use
ProjectUtils.getSources(org.netbeans.api.project.Project)
as a client.
Use Project.getLookup()
as a provider.
May be used by the New File wizard, Find in Files, to-do task scanning, the Files tab, etc.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Generic source folders containing any source files at all. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addChangeListener
(ChangeListener listener) Add a listener to changes in the source groups.getSourceGroups
(String type) Find all root source folders matching a given type.void
removeChangeListener
(ChangeListener listener) Remove a listener to changes in the source groups.
-
Field Details
-
TYPE_GENERIC
Generic source folders containing any source files at all. Generally should be a superset of all other kinds of source folders. Usually the project directory is the only such folder listed.- See Also:
-
-
Method Details
-
getSourceGroups
Find all root source folders matching a given type.For a given type, the returned source folders must not overlap, i.e. there may be no duplicates and no folder may be a descendant of another.
In the case of
TYPE_GENERIC
source folders, the project must contain at least one such folder (a nonempty array must be returned), and theproject directory
must either be one of the returned folders, or a descendant of one of the returned folders.- Parameters:
type
- a kind of folder, e.g.TYPE_GENERIC
orJavaProjectConstants.SOURCES_TYPE_JAVA
- Returns:
- a list of top-level source folders of that kind (may be empty but not null)
-
addChangeListener
Add a listener to changes in the source groups. Any change in the result ofgetSourceGroups(java.lang.String)
should cause a change event to be fired.- Parameters:
listener
- a listener to add
-
removeChangeListener
Remove a listener to changes in the source groups.- Parameters:
listener
- a listener to remove
-