|
What this is
Other links
The source code
/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.api.project;
import java.beans.PropertyChangeListener;
import javax.swing.Icon;
import org.openide.filesystems.FileObject;
/**
* Representation of one area of sources.
* @author Jesse Glick
* @see Sources
*/
public interface SourceGroup {
/**
* Pseudo-property used to indicate changes in containership of some subfiles.
*/
String PROP_CONTAINERSHIP = "containership"; // NOI18N
/**
* Get the folder forming the root of this group of sources.
* @return the root folder (must be a folder, not a file)
*/
FileObject getRootFolder();
/**
* Get a code name suitable for internal identification of this source group.
* Should be unique among the source groups of a given type
* contained in a single {@link Sources} object.
* @return a code name
*/
String getName();
/**
* Get a display name suitable for presentation to a user.
* Should preferably be unique among the source groups of a given type
* contained in a single {@link Sources} object.
* @return a display name
*/
String getDisplayName();
/**
* Get an icon for presentation to a user.
* @param opened if true, may select an alternative "open" variant
* @return an icon, or null if no specific icon is needed
*/
Icon getIcon(boolean opened);
/**
* Check whether the given file is contained in this group.
* A constraint is that the root folder must be contained and
* if any file (other than the root folder) is contained then
* its parent must be as well.
* @param file a file or folder; must be a descendant of the root folder
* @return true if the group contains that file, false if it is to be excluded
* @throws IllegalArgumentException if a file is passed which is not inside the root
*/
boolean contains(FileObject file) throws IllegalArgumentException;
/**
* Add a listener to changes in aspects of the source group.
* The property names used may be normal JavaBean names
* (
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.